void addTextField(JPanel panel, String key, String label) { JLabel lab = new JLabel(label); lab.setAlignmentX(LEFT_ALIGNMENT); panel.add(lab); JTextField field = new JTextField(); field.setText(sketch.configFile.get(key)); field.setMaximumSize(new Dimension(Integer.MAX_VALUE, field.getPreferredSize().height)); fields.put(key, field); panel.add(field); }
private JTextField addField(JPanel directoryPanel, String label, String defaultText) { JTextField field = new JTextField(defaultText); directoryPanel.add(new JLabel(label, SwingConstants.RIGHT)); Box fieldBox = new Box(BoxLayout.Y_AXIS); fieldBox.add(Box.createGlue()); Dimension dim = field.getPreferredSize(); dim.width = Integer.MAX_VALUE; field.setMaximumSize(dim); fieldBox.add(field); fieldBox.add(Box.createGlue()); directoryPanel.add(fieldBox); JButton choose = new JButton("Choose..."); choose.setRequestFocusEnabled(false); choose.addActionListener(new ActionHandler(field)); directoryPanel.add(choose); return field; }
/** Create and layout the visual components. */ private void initComponents() { setTitle("Chart Settings"); setSize(new Dimension(450, 375)); setResizable(false); addWindowListener( new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent evt) { closeDialog(evt); } }); Box mainView = new Box(VERTICAL); getContentPane().add(mainView); Box row; Box yAxisView = new Box(VERTICAL); yAxisView.setBorder(border); mainView.add(yAxisView); yAutoScaleCheckbox = new JCheckBox("Auto Scale"); yAutoScaleCheckbox.addActionListener( new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { yAutoScaleCheckboxActionPerformed(evt); } }); row = new Box(HORIZONTAL); row.add(Box.createHorizontalGlue()); row.add(yAutoScaleCheckbox); yAxisView.add(row); yAxisMinValueField = new JTextField(10); yAxisMinValueField.setMaximumSize(yAxisMinValueField.getPreferredSize()); yAxisMinValueField.setHorizontalAlignment(javax.swing.JTextField.RIGHT); yAxisMinValueField.addFocusListener( new FocusAdapter() { public void focusGained(FocusEvent event) { yAxisMinValueField.selectAll(); } public void focusLost(FocusEvent event) { yAxisMinValueField.setCaretPosition(0); yAxisMinValueField.moveCaretPosition(0); } }); row = new Box(HORIZONTAL); row.add(Box.createHorizontalGlue()); row.add(new JLabel("Min:")); row.add(yAxisMinValueField); yAxisView.add(row); yAxisMaxValueField = new JTextField(10); yAxisMaxValueField.setMaximumSize(yAxisMaxValueField.getPreferredSize()); yAxisMaxValueField.setHorizontalAlignment(javax.swing.JTextField.RIGHT); yAxisMaxValueField.addFocusListener( new FocusAdapter() { public void focusGained(FocusEvent event) { yAxisMaxValueField.selectAll(); } public void focusLost(FocusEvent event) { yAxisMaxValueField.setCaretPosition(0); yAxisMaxValueField.moveCaretPosition(0); } }); row = new Box(HORIZONTAL); row.add(Box.createHorizontalGlue()); row.add(new JLabel("Max:")); row.add(yAxisMaxValueField); yAxisView.add(row); yAxisDivisionsField = new JTextField(10); yAxisDivisionsField.setMaximumSize(yAxisDivisionsField.getPreferredSize()); yAxisDivisionsField.setHorizontalAlignment(JTextField.RIGHT); yAxisDivisionsField.addFocusListener( new FocusAdapter() { public void focusGained(FocusEvent event) { yAxisDivisionsField.selectAll(); } public void focusLost(FocusEvent event) { yAxisDivisionsField.setCaretPosition(0); yAxisDivisionsField.moveCaretPosition(0); } }); row = new Box(HORIZONTAL); row.add(Box.createHorizontalGlue()); row.add(new JLabel("Major Divisions:")); row.add(yAxisDivisionsField); yAxisView.add(row); Box buttonView = new Box(HORIZONTAL); mainView.add(buttonView); buttonView.add(Box.createHorizontalGlue()); JButton revertButton = new JButton("Revert"); revertButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { revertButtonActionPerformed(event); } }); buttonView.add(revertButton); JButton applyButton = new JButton("Apply"); applyButton.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent event) { applyButtonActionPerformed(event); } }); buttonView.add(applyButton); pack(); }
public ChatClient() { super(APPNAME); JPanel topPanel = new JPanel(); JPanel leftPanel = new JPanel(); JPanel buttomPanel = new JPanel(); JPanel roomPanel = new JPanel(); JPanel userPanel = new JPanel(); roomList = new JList(); userList = new JList(); msgTextArea = new JTextArea(); msgTextField = new JTextField(); nameTextField = new JTextField(); submitButton = new JButton("送信"); renameButton = new JButton("名前の変更"); addRoomButton = new JButton("部屋を追加"); enterRoomButton = new JButton("入室"); submitButton.addActionListener(this); submitButton.setActionCommand("submit"); renameButton.addActionListener(this); renameButton.setActionCommand("rename"); addRoomButton.addActionListener(this); addRoomButton.setActionCommand("addRoom"); enterRoomButton.addActionListener(this); enterRoomButton.setActionCommand("enterRoom"); roomPanel.setLayout(new BorderLayout()); roomPanel.add(new JLabel("チャットルーム"), BorderLayout.NORTH); roomPanel.add(new JScrollPane(roomList), BorderLayout.CENTER); roomPanel.add(enterRoomButton, BorderLayout.SOUTH); userPanel.setLayout(new BorderLayout()); userPanel.add(new JLabel("参加ユーザー"), BorderLayout.NORTH); userPanel.add(new JScrollPane(userList), BorderLayout.CENTER); topPanel.setLayout(new FlowLayout()); topPanel.add(new JLabel("名前")); topPanel.add(nameTextField); topPanel.add(renameButton); topPanel.add(addRoomButton); nameTextField.setPreferredSize(new Dimension(200, nameTextField.getPreferredSize().height)); leftPanel.setLayout(new GridLayout(2, 1)); leftPanel.add(roomPanel); leftPanel.add(userPanel); buttomPanel.setLayout(new BorderLayout()); buttomPanel.add(msgTextField, BorderLayout.CENTER); buttomPanel.add(submitButton, BorderLayout.EAST); // テキストエリアはメッセージを表示するだけなので編集不可に設定 msgTextArea.setEditable(false); // コンポーネントの状態を退室状態で初期化 exitedRoom(); this.getContentPane().add(new JScrollPane(msgTextArea), BorderLayout.CENTER); this.getContentPane().add(topPanel, BorderLayout.NORTH); this.getContentPane().add(leftPanel, BorderLayout.WEST); this.getContentPane().add(buttomPanel, BorderLayout.SOUTH); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { try { close(); } catch (Exception err) { } } }); connectServer(); // メッセージ受信監視用のスレッドを生成してスタートさせる thread = new Thread(this); thread.start(); // 現在の部屋を取得する sendMessage("getRooms"); }