Slideshow(String images[]) { // transfer array of images into local array imagePaths = images; // create the frame and set its size, layout, location, and close operation frame = new JFrame("Slideshow"); frame.setSize(800, 600); frame.setLayout(new BorderLayout()); frame.setLocationRelativeTo(frame); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // create center and play/stop buttons centerButton = new JButton("center"); PlayStopButton = new JButton("Play"); // set actionListener for timer timer = new Timer(seconds, this); timer.setActionCommand("timer"); // set actionListener for the Play/Stop button PlayStopButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { if (PlayStopButton.getText() == "Play") { PlayStopButton.setText("Stop"); timer.start(); } else if (PlayStopButton.getText() == "Stop") { PlayStopButton.setText("Play"); timer.stop(); } } }); // add the JLabel to the JScrollPane image = new JLabel(""); scrollPane = new JScrollPane(image); // add everything to the frame and display it frame.add(scrollPane); frame.add(PlayStopButton, BorderLayout.SOUTH); frame.setVisible(true); }
public void init() { // 添加按钮 JPanel buttonPanel = new JPanel(); buttonPanel.add(okButton); mainPanel.setLayout(new GridLayout(0, 3)); mainWin.add(mainPanel, BorderLayout.CENTER); JFormattedTextField intField0 = new JFormattedTextField( new InternationalFormatter(NumberFormat.getIntegerInstance()) { protected DocumentFilter getDocumentFilter() { return new NumberFilter(); } }); intField0.setValue(100); addRow("只接受数字的文本框", intField0); JFormattedTextField intField1 = new JFormattedTextField(NumberFormat.getIntegerInstance()); intField1.setValue(new Integer(100)); // 添加输入校验器 intField1.setInputVerifier(new FormattedTextFieldVerifier()); addRow("带输入校验器的文本框", intField1); // 创建自定义格式器对象 IPAddressFormatter ipFormatter = new IPAddressFormatter(); ipFormatter.setOverwriteMode(false); // 以自定义格式器对象创建格式化文本框 JFormattedTextField ipField = new JFormattedTextField(ipFormatter); ipField.setValue(new byte[] {(byte) 192, (byte) 168, 4, 1}); addRow("IP地址格式", ipField); mainWin.add(buttonPanel, BorderLayout.SOUTH); mainWin.pack(); mainWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); mainWin.setVisible(true); }
public void hacerInterfaz() { ventana_chat = new JFrame("Cliente"); btn_enviar = new JButton("Enviar"); txt_mensaje = new JTextField(4); area_chat = new JTextArea(10, 17); scroll = new JScrollPane(area_chat); contenedor_areachat = new JPanel(); contenedor_areachat.setLayout(new GridLayout(1, 1)); contenedor_areachat.add(scroll); contenedor_btntxt = new JPanel(); contenedor_btntxt.setLayout(new GridLayout(1, 2)); contenedor_btntxt.add(txt_mensaje); contenedor_btntxt.add(btn_enviar); ventana_chat.setLayout(new BorderLayout()); ventana_chat.add(contenedor_areachat, BorderLayout.NORTH); ventana_chat.add(contenedor_btntxt, BorderLayout.SOUTH); ventana_chat.setSize(300, 220); ventana_chat.setVisible(true); ventana_chat.setResizable(false); ventana_chat.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Thread principal = new Thread( new Runnable() { public void run() { try { socket = new Socket("localhost", 8000); leer(); escribir(); } catch (Exception ex) { ex.printStackTrace(); } } }); principal.start(); }
public static void main(String[] args) { Global.debugging = true; // make frame final JFrame frame = new JFrame("Test Client Game"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // make game ClientGame game = null; String[] names = { "Alpha", "Beta", "Charlie", "Delta", "Epsilon", "Foxtrot", "Gamma", "Hurricane" }; int ptr = 0; while (true) { try { game = new ClientGame(names[ptr++], (args.length > 1 ? args[1] : "localhost")); break; } catch (ClientNameException ex) { System.err.println(ex); } catch (IOException ex) { System.err.println("Could not connect to server"); } } // add controls to frame game.getPlayerShip().getControls().setContainer(frame); // add full screen toggle FullScreenToggle.addToggleToGame(frame, game, KeyEvent.VK_F11); // add game to frame frame.add(game); // show frame frame.pack(); frame.setVisible(true); game.startTheGame(); }
public void initUI() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); JPopupMenu.setDefaultLightWeightPopupEnabled(false); frame = new JFrame("Project Benelux | 317 | Fullscreen - Resizeable"); frame.setLayout(new BorderLayout()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); gamePanel = new JPanel(); new AutoUpdater().run(); webclient = false; gamePanel.setLayout(new BorderLayout()); gamePanel.add(this); JMenu fileMenu = new JMenu("File"); String[] mainButtons = new String[] {"-", "Exit", "-"}; for (String name : mainButtons) { JMenuItem menuItem = new JMenuItem(name); if (name.equalsIgnoreCase("-")) { fileMenu.addSeparator(); } else { menuItem.addActionListener(this); fileMenu.add(menuItem); } } JMenuBar menuBar = new JMenuBar(); JMenuBar jmenubar = new JMenuBar(); Dimension dimension1 = new Dimension(765 + 16, 503 + 59); frame.setMinimumSize(dimension1); frame.add(jmenubar); menuBar.add(fileMenu); frame.getContentPane().add(menuBar, BorderLayout.NORTH); frame.getContentPane().add(gamePanel, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); // can see the client frame.setResizable(true); // resizeable frame init(); } catch (Exception e) { e.printStackTrace(); } }
private static void initGui() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Exception exception) { exception.printStackTrace(); } JFrame frame = new JFrame("DarkBot"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new GridBagLayout()); Insets noInsets = new Insets(0, 0, 0, 0); final JToggleButton sessionsButton = new JToggleButton("Login (0)"); frame.add( sessionsButton, new GridBagConstraints( 0, 0, 2, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, noInsets, 0, 0)); sessionsButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { sessions.set(sessionsButton.isSelected()); synchronized (sessions) { sessions.notifyAll(); } } }); final JToggleButton joinsButton = new JToggleButton("Join (0)"); frame.add( joinsButton, new GridBagConstraints( 0, 1, 2, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, noInsets, 0, 0)); joinsButton.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { joins.set(joinsButton.isSelected()); synchronized (joins) { joins.notifyAll(); } } }); final JTextField field = new JTextField(); frame.add( field, new GridBagConstraints( 0, 2, 1, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, noInsets, 0, 0)); final JButton button = new JButton("Start"); frame.add( button, new GridBagConstraints( 1, 2, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, noInsets, 0, 0)); button.addActionListener( new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if (button.getText().startsWith("Start")) { field.setEnabled(false); spamMessage = field.getText(); button.setText("Stop"); } else { spamMessage = null; button.setText("Start"); field.setEnabled(true); } } }); Timer timer = new Timer( 500, new ActionListener() { @Override public void actionPerformed(ActionEvent e) { sessionsButton.setText( sessionsButton.getText().split(" ")[0] + " (" + Integer.toString(sessionCount.get()) + ")"); joinsButton.setText( joinsButton.getText().split(" ")[0] + " (" + Integer.toString(amountJoined.get()) + ")"); } }); timer.setRepeats(true); timer.start(); frame.pack(); frame.setSize(500, frame.getHeight()); frame.setLocationRelativeTo(null); frame.setVisible(true); }
public static void main(String[] args) throws IOException { ServerSocket s = new ServerSocket(PORT); System.out.println("Started: " + s); frame.setPreferredSize(new Dimension(400, 400)); frame.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); JMenuBar one = new JMenuBar(); JMenu second = new JMenu("OPTIONS"); // JMenuItem third = new JMenuItem("NEW GAME"); JMenuItem fourth = new JMenuItem("EXIT"); fourth.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent evt) { try { exit(evt); } catch (IOException e) { } } }); // second.add(third); second.add(fourth); one.add(second); frame.setJMenuBar(one); frame.setLayout(new java.awt.GridLayout(3, 3)); button = new JButton[10]; for (int i = 1; i < 10; i++) { button[i] = new JButton(); button[i].setBackground(Color.lightGray); button[i].setActionCommand(Integer.toString(i)); button[i].addActionListener( new ActionListener() { public void actionPerformed(ActionEvent evt) { print(evt.getActionCommand()); try { func(socket, evt.getActionCommand()); String check = win(); finalresult(check); if (check != "") { func(socket, check); } else { func(socket, evt.getActionCommand()); } ; } catch (IOException e) { } } }); frame.add(button[i]); } try { socket = s.accept(); frame.pack(); frame.setVisible(true); try { System.out.println("Connection accepted: " + socket); BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); /* while(true) { String str=in.readLine(); print2(str); }*/ while (true) { String str = in.readLine(); if (str.equals("exit")) { System.exit(0); } if (str.equals("tie")) { JOptionPane.showMessageDialog(null, "It is a tie between the two"); System.exit(0); } else { if (str.equals("winserver")) { System.out.println("server has won"); JOptionPane.showMessageDialog(null, "the server has won the game"); System.exit(0); } else { if (str.equals("winclient")) { JOptionPane.showMessageDialog(null, "the client has won the game"); System.exit(0); } else { System.out.println(str); print2(str); } } } } } catch (Exception e) { } // finally {socket.close(); // } } catch (Exception e) { } // finally {s.close(); // } }
public static void main() { // Main frame = new JFrame("Java Playground"); frame.setSize(640, 480); // Make sure the divider is properly resized frame.addComponentListener( new ComponentAdapter() { public void componentResized(ComponentEvent c) { splitter.setDividerLocation(.8); } }); // Make sure the JVM is reset on close frame.addWindowListener( new WindowAdapter() { public void windowClosed(WindowEvent w) { new FrameAction().kill(); } }); // Setting up the keybinding // Ctrl+k or Cmd+k -> compile bind(KeyEvent.VK_K); // Ctrl+e or Cmd+e -> console bind(KeyEvent.VK_E); // Save, New file, Open file, Print. // Currently UNUSED until I figure out how normal java files and playground files will // interface. bind(KeyEvent.VK_S); bind(KeyEvent.VK_N); bind(KeyEvent.VK_O); bind(KeyEvent.VK_P); // Binds the keys to the action defined in the FrameAction class. frame.getRootPane().getActionMap().put("console", new FrameAction()); // The main panel for typing code in. text = new JTextPane(); textScroll = new JScrollPane(text); textScroll.setBorder(null); textScroll.setPreferredSize(new Dimension(640, 480)); // Document with syntax highlighting. Currently unfinished. doc = text.getStyledDocument(); doc.addDocumentListener( new DocumentListener() { public void changedUpdate(DocumentEvent d) {} public void insertUpdate(DocumentEvent d) {} public void removeUpdate(DocumentEvent d) {} }); ((AbstractDocument) doc).setDocumentFilter(new NewLineFilter()); // The output log; a combination compiler warning/error/runtime error/output log. outputText = new JTextPane(); outputScroll = new JScrollPane(outputText); outputScroll.setBorder(null); // "Constant" for the error font error = new SimpleAttributeSet(); error.addAttribute(StyleConstants.CharacterConstants.Italic, Boolean.TRUE); error.addAttribute(StyleConstants.Foreground, Color.RED); // "Constant" for the warning message font warning = new SimpleAttributeSet(); warning.addAttribute(StyleConstants.CharacterConstants.Italic, Boolean.TRUE); warning.addAttribute(StyleConstants.Foreground, Color.PINK); // "Constant" for the debugger error font progErr = new SimpleAttributeSet(); progErr.addAttribute(StyleConstants.Foreground, Color.BLUE); // Print streams to redirect System.out and System.err. out = new TextOutputStream(outputText, null); err = new TextOutputStream(outputText, error); System.setOut(new PrintStream(out)); System.setErr(new PrintStream(err)); // Sets up the output log outputText.setEditable(false); outputScroll.setVisible(true); // File input/output setup chooser = new JFileChooser(); // Setting up miscellaneous stuff compiler = ToolProvider.getSystemJavaCompiler(); JVMrunning = false; redirectErr = null; redirectOut = null; redirectIn = null; // Sets up the splitter pane and opens the program up splitter = new JSplitPane(JSplitPane.VERTICAL_SPLIT, textScroll, outputScroll); consoleDisplayed = false; splitter.remove(outputScroll); // Initially hides terminal until it is needed splitter.setOneTouchExpandable(true); frame.add(splitter); frame.setVisible(true); // Sets the divider to the proper one, for debugging // splitter.setDividerLocation(.8); }
public void launchChess() { mainWindow = new JFrame("网络黑白棋 作者:张炀"); jpWest = new JPanel(); jpEast = new JPanel(); jpNorth = new JPanel(); jpSouth = new JPanel(); jpCenter = new JPanel(); turnLabel = new JLabel(); blackNumberLabel = new JLabel("黑棋:\n" + black + " "); whiteNumberLabel = new JLabel("白棋:\n" + white + " "); timeLabel = new JLabel("时间: " + time + " s"); noticeLabel = new JLabel(); noticeLabel = new JLabel("请选择:"); numberPane = new JPanel(); readyPane = new JPanel(); jt1 = new JTextField(18); // 发送信息框 jt2 = new JTextArea(3, 30); // 显示信息框 js = new JScrollPane(jt2); jt2.setLineWrap(true); jt2.setEditable(false); // jt1.setLineWrap(true); send = new JButton("发送"); cancel = new JButton("取消"); regret = new JButton("悔棋"); submit = new JButton("退出"); begin = new JButton("开始"); save = new JButton("存盘"); save.setEnabled(true); begin.setEnabled(true); fighter = new JRadioButton("下棋"); audience = new JRadioButton("观看"); group = new ButtonGroup(); group.add(audience); group.add(fighter); group.add(AIPlayer); submit.addActionListener(this); begin.addActionListener(this); save.addActionListener(this); send.addActionListener(this); cancel.addActionListener(this); regret.addActionListener(this); fighter.addActionListener(this); audience.addActionListener(this); jpNorth.setLayout(new BorderLayout()); jpNorth.add(turnLabel, BorderLayout.NORTH); jpNorth.add(jpCenter, BorderLayout.CENTER); jpSouth.add(js); jpSouth.add(jt1); jpSouth.add(send); jpSouth.add(cancel); jpEast.setLayout(new GridLayout(3, 1)); submit.setBackground(new Color(130, 251, 241)); panel x = new panel(); jpEast.add(x); jpEast.add(numberPane); jpEast.add(readyPane); numberPane.add(blackNumberLabel); numberPane.add(whiteNumberLabel); numberPane.add(timeLabel); numberPane.add(submit); numberPane.add(begin); numberPane.add(save); numberPane.add(regret); readyPane.add(noticeLabel); readyPane.add(fighter); readyPane.add(audience); // readyPane.add(save); // readyPane.add(regret); jpCenter.setSize(400, 400); jmb = new JMenuBar(); document = new JMenu("游戏 "); edit = new JMenu("设置 "); insert = new JMenu("棋盘 "); help = new JMenu("帮助 "); jmb.add(document); jmb.add(edit); jmb.add(insert); jmb.add(help); // mainWindow.setJMenuBar(jmb); mainWindow.setBounds(80, 80, 600, 600); mainWindow.setResizable(false); jsLeft = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, jpNorth, jpSouth); jsBase = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, jsLeft, jpEast); mainWindow.add(jsBase); mainWindow.setVisible(true); mainWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jsBase.setDividerLocation(0.7); jsLeft.setDividerLocation(0.78); jpCenter.setLayout(new GridLayout(8, 8, 0, 0)); ImageIcon key = new ImageIcon("chess1.jpg"); for (int i = 0; i < cell.length; i++) for (int j = 0; j < cell.length; j++) { cell[i][j] = new ChessBoard(i, j); cell[i][j].addMouseListener(this); jpCenter.add(cell[i][j]); } cell[3][3].state = cell[4][4].state = '黑'; cell[4][3].state = cell[3][4].state = '白'; cell[3][3].taken = cell[4][4].taken = true; cell[4][3].taken = cell[3][4].taken = true; RememberState(); new Thread(new TurnLabel(this)).start(); file = new File("D:/" + myRole); try { fout = new FileOutputStream(file); out = new ObjectOutputStream(fout); } catch (IOException e1) { e1.printStackTrace(); } Connect(); try { out99 = new ObjectOutputStream(socket99.getOutputStream()); in99 = new ObjectInputStream(socket99.getInputStream()); out66 = new ObjectOutputStream(socket66.getOutputStream()); in66 = new ObjectInputStream(socket66.getInputStream()); out88 = new DataOutputStream(socket88.getOutputStream()); } catch (IOException e) { e.printStackTrace(); } new Thread(new Client9999(this)).start(); new Thread(new Client6666(this)).start(); }
public void initUI() { try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); JPopupMenu.setDefaultLightWeightPopupEnabled(false); frame = new JFrame("Vestige-x Developers Client"); frame.setIconImage( Toolkit.getDefaultToolkit().getImage(signlink.findcachedir() + "Cursor.png")); frame.setLayout(new BorderLayout()); frame.setResizable(false); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel gamePanel = new JPanel(); gamePanel.setLayout(new BorderLayout()); gamePanel.add(this); Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); int w = 765; int h = 503; int x = (dim.width - w) / 2; int y = (dim.height - h) / 2; frame.setLocation(x, y); gamePanel.setPreferredSize(new Dimension(765, 503)); JMenu fileMenu = new JMenu(" File "); JMenu toolMenu = new JMenu(" Tools "); JMenu infoMenu = new JMenu(" Info "); JMenu toggleMenu = new JMenu(" Toggles "); JMenu profileMenu = new JMenu(" Links "); JButton shotMenu = new JButton("Take Screenshot"); shotMenu.setActionCommand("Screenshot"); shotMenu.addActionListener(this); String[] mainButtons = new String[] {"View Images", "Exit"}; String[] toolButtons = new String[] {"World Map"}; String[] infoButtons = new String[] {"Client Information", "Support"}; String[] toggleButtons = new String[] {"Toggle 10x Damage", "Untoggle 10x Damage"}; String[] profileButtons = new String[] {"Donate", "Vote", "-", "Highscores", "Guides", "YouTube", "Forums"}; for (String name : mainButtons) { JMenuItem menuItem = new JMenuItem(name); if (name.equalsIgnoreCase("-")) { fileMenu.addSeparator(); } else { menuItem.addActionListener(this); fileMenu.add(menuItem); } } for (String name : toolButtons) { JMenuItem menuItem = new JMenuItem(name); if (name.equalsIgnoreCase("-")) toolMenu.addSeparator(); else { menuItem.addActionListener(this); toolMenu.add(menuItem); } } for (String name : infoButtons) { JMenuItem menuItem = new JMenuItem(name); if (name.equalsIgnoreCase("-")) infoMenu.addSeparator(); else { menuItem.addActionListener(this); infoMenu.add(menuItem); } } for (String name : toggleButtons) { JMenuItem menuItem = new JMenuItem(name); if (name.equalsIgnoreCase("-")) toggleMenu.addSeparator(); else { menuItem.addActionListener(this); toggleMenu.add(menuItem); } } for (String name : profileButtons) { JMenuItem menuItem = new JMenuItem(name); if (name.equalsIgnoreCase("-")) toggleMenu.addSeparator(); else { menuItem.addActionListener(this); profileMenu.add(menuItem); } } JMenuBar menuBar = new JMenuBar(); JMenuBar jmenubar = new JMenuBar(); frame.add(jmenubar); menuBar.add(fileMenu); menuBar.add(toolMenu); menuBar.add(infoMenu); // menuBar.add(toggleMenu); menuBar.add(profileMenu); menuBar.add(shotMenu); frame.getContentPane().add(menuBar, BorderLayout.NORTH); frame.getContentPane().add(gamePanel, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); // can see the client frame.setResizable(false); // resizeable frame init(); } catch (Exception e) { e.printStackTrace(); } }
/** * Create a new, empty, not-visible TaxRef window. Really just activates the setup frame and setup * memory monitor components, then starts things off. */ public MainFrame() { setupMemoryMonitor(); // Set up the main frame. mainFrame = new JFrame(basicTitle); mainFrame.setJMenuBar(setupMenuBar()); mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Set up the JTable. table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); table.setSelectionBackground(COLOR_SELECTION_BACKGROUND); table.setShowGrid(true); // Add a blank table model so that the component renders properly on // startup. table.setModel(blankDataModel); // Add a list selection listener so we can tell the matchInfoPanel // that a new name was selected. table .getSelectionModel() .addListSelectionListener( new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { if (currentCSV == null) return; int row = table.getSelectedRow(); int column = table.getSelectedColumn(); columnInfoPanel.columnChanged(column); Object o = table.getModel().getValueAt(row, column); if (Name.class.isAssignableFrom(o.getClass())) { matchInfoPanel.nameSelected(currentCSV.getRowIndex(), (Name) o, row, column); } else { matchInfoPanel.nameSelected(currentCSV.getRowIndex(), null, -1, -1); } } }); // Set up the left panel (table + matchInfoPanel) JPanel leftPanel = new JPanel(); matchInfoPanel = new MatchInformationPanel(this); leftPanel.setLayout(new BorderLayout()); leftPanel.add(matchInfoPanel, BorderLayout.SOUTH); leftPanel.add(new JScrollPane(table)); // Set up the right panel (columnInfoPanel) JPanel rightPanel = new JPanel(); columnInfoPanel = new ColumnInformationPanel(this); progressBar.setStringPainted(true); rightPanel.setLayout(new BorderLayout()); rightPanel.add(columnInfoPanel); rightPanel.add(progressBar, BorderLayout.SOUTH); // Set up a JSplitPane to split the panels up. JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, false, leftPanel, rightPanel); split.setResizeWeight(1); mainFrame.add(split); mainFrame.pack(); // Set up a drop target so we can pick up files mainFrame.setDropTarget( new DropTarget( mainFrame, new DropTargetAdapter() { @Override public void dragEnter(DropTargetDragEvent dtde) { // Accept any drags. dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE); } @Override public void dragOver(DropTargetDragEvent dtde) {} @Override public void dropActionChanged(DropTargetDragEvent dtde) {} @Override public void dragExit(DropTargetEvent dte) {} @Override public void drop(DropTargetDropEvent dtde) { // Accept a drop as long as its File List. if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); Transferable t = dtde.getTransferable(); try { java.util.List<File> files = (java.util.List<File>) t.getTransferData(DataFlavor.javaFileListFlavor); // If we're given multiple files, pick up only the last file and load that. File f = files.get(files.size() - 1); loadFile(f, DarwinCSV.FILE_CSV_DELIMITED); } catch (UnsupportedFlavorException ex) { dtde.dropComplete(false); } catch (IOException ex) { dtde.dropComplete(false); } } } })); }