2017-02-12 2 views
1

私はJavaを書くのが全く新しいです。私はそのエリアのすべてのインターネット接続のリストを収集するインターフェイスを作成しています。ユーザーがパスワードを選択し、パスワードを入力すると、そのユーザーはパスワードに接続できます。私はパスワードフィールドに問題があります...それはパスワードボックスのために大きいです。JPasswordBoxフィールドが大きくなります。どうすればそれを小さくできますか?

enter image description here

私はそれをどのように修正すればよいですか?ここにコードがあります。

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 

public class Network_Interface 
{ 
    JFrame frame; 
    JPanel panel; 

    public static void main (String[] args) 
    { 
     Network_Interface OBJECT_GUI = new Network_Interface(); 
     OBJECT_GUI.INIT(); 
    } 

    public void INIT() 
    { 
     //frame and panel 
     JFrame FRAME = new JFrame(); 
     JPanel PANEL = new JPanel(); 
     //init fields and labels 
     JButton BUTTON_REFRESH = new JButton("Refesh List"); 
     JButton BUTTON_CONNECT = new JButton("Connect to network"); 
     JPasswordField FIELD_PASSWORD = new JPasswordField(15); 
     JLabel LABEL_PASSWORD = new JLabel("Enter Password of selected newtork."); 
     JList LIST_NETWORKS = new JList(GET_NETWORKS()); 
     //event listeners 
     BUTTON_REFRESH.addActionListener(new REFRESH_LISTENER()); 
     BUTTON_CONNECT.addActionListener(new CONNECT_LISTENER()); 
     //panel handling 
     PANEL.setLayout(new BoxLayout(PANEL, BoxLayout.Y_AXIS)); 
     PANEL.add(LIST_NETWORKS); 
     PANEL.add(BUTTON_REFRESH); 
     PANEL.add(LABEL_PASSWORD); 
     PANEL.add(FIELD_PASSWORD); 
     PANEL.add(BUTTON_CONNECT); 
     FRAME.getContentPane().add(BorderLayout.CENTER, PANEL); 
     FRAME.setSize(500,500); 
     FRAME.setVisible(true); 
    } 
    public String[] GET_NETWORKS() 
    { 
     //read file 
     String[] ARRAY_NETWORKS= new String[2]; 
     ARRAY_NETWORKS[0] = "Frnkthtnk100"; 
     ARRAY_NETWORKS[1] = "CheesecakeFactory"; 
     return ARRAY_NETWORKS; 
    } 
    class REFRESH_LISTENER implements ActionListener 
    { 
     public void actionPerformed(ActionEvent EVENT) 
     { 
      //idk to do at this point 
     } 
    } 
    class CONNECT_LISTENER implements ActionListener 
    { 
     public void actionPerformed(ActionEvent EVENT) 
     { 
      //IDk at this point 
     } 
    } 
} 
+1

http://www.oracle.com/technetwork/java/codeconvtoc-(多分 'GridBagLayout'は、たとえば – MadProgrammer

+1

のためにあなたは、[Javaのコーディング規則]を見てみるのが好きかもしれませんが、別のレイアウトマネージャを使用します136057.html)は、人々があなたのコードを読んだり、あなたが自分のコードを読むのをより簡単にしたりするため、 – MadProgrammer

答えて

1

1)簡単な方法:FRAME.pack();FRAME.setSize(500,500);を交換してください。 フレームをコンポーネントのサイズに調整します。 しかし、それはフレームのサイズを変更します。

2)フレームサイズを維持したい場合、JPasswordField FIELD_PASSWORDの最大サイズをJPanelの最大値まで拡張しないように指定することができます。

JPasswordField FIELD_PASSWORD = new JPasswordField(15); 
FIELD_PASSWORD.setMaximumSize(new Dimension(FIELD_PASSWORD.getMaximumSize().width, FIELD_PASSWORD.getMinimumSize().height)); 
+0

私はオプション1を使用しました –

関連する問題