別のJavaファイルからコンテナにjpanelを含めることは可能ですか?2つのJavaファイルfileA.java
と。があるとしfileB.java
ます。fileB.java
そして、コンテナ内の表示コンテンツ全体をに追加したいと思いfileA.java
ます。これは可能ですか?非常に長い間、混乱が生じています。前もって感謝します。
質問する
598 次
2 に答える
4
他のファイル/ケースを作成してextends JPanel
、それがJPanelであるため、他のファイルに追加することができます。例えば:
FileA.java
public class FileA {
public FileA() {
JFrame jf = new JFrame();
jf.setLayout(new BorderLayout());
FileB b = new FileB();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setBounds(100,100,800,600);
jf.setVisible(true);
add(b, BorderLayout.CENTER);
}
public static void main(String[] args) {
new FileA();
}
}
FileB.java
public class FileB extends JPanel {
public FileB() {
setLayout(new BorderLayout());
add(new JLabel("Example"), BorderLayout.CENTER);
}
}
または、JPanelを別のファイルのフィールドにして、getterメソッドでアクセスすることもできます。
例:
FileC.java
public class FileC {
private JPanel panel;
public FileC() {
panel = new JPanel();
panel.add(new JLabel("Example 2"));
}
public JPanel getPanel() {
return panel;
}
}
于 2012-07-16T20:52:16.920 に答える
3
はい、できます。
1-fileB
クラスが拡張されJPanel
ている場合は、のインスタンスを作成し、fileB
それを任意のコンテナに追加します。
fileB panel = new fileB();
container.add(panel);
2-fileB
フィールドとしてJPanelがある場合、パブリックフィールドの場合はそれ自体で、それ以外の場合はgetterメソッドでアクセスする必要があります。
fileB f = new fileB();
JPanel panel = f.getPanel(); // or f.panel if the panel is a public field
container.add(panel);
于 2012-07-16T20:48:00.103 に答える