JTabbedPanelJFrame
やJTree
. でリボンを作成するクラスの 1 つが を作成しJTabbedPanel
ます。JButton
これには、 を更新する関数が必要JTree
です。
私はいくつかのゲッターを持っていJButton
ますが、メインメソッドで作成されたオブジェクト (GUI オブジェクト、どこから にアクセスできるか) で何かを更新するために を使用する方法がわかりませんJTree
。
の実際のクラスのメイン メソッドで作成されたオブジェクトで何かを更新するにはどうすればよいJButton
ですか?
プロジェクトの構造を変更する必要があるかもしれません。
public class Gui extends JFrame{
private Ribbon ribbon;
private Status status;
public Panel panel;
public Gui(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("INIT TITLE");
setExtendedState(Frame.MAXIMIZED_BOTH);
setMinimumSize(new Dimension(600,400));
setVisible(true);
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
} catch (Exception e) {
e.printStackTrace();
}
ribbon = new Ribbon();
add(ribbon, BorderLayout.NORTH);
status = new Status();
add(status, BorderLayout.SOUTH);
panel = new Panel();
add(panel, JSplitPane.HORIZONTAL_SPLIT);
//panel.setLeftComponent(panel.getTree());
//panel.openProject();
setVisible(true);
panel.loadProject();
}
リボンは多くのことをしません:
public class Ribbon extends JTabbedPane {
public Ribbon(){
addTab("Home", null, new RibbonHome());
addTab("Import", null, new RibbonImport());
addTab("Options", null, new RibbonOptions());
}
}
しかし、Ribbon-Tab はいくつかのボタンを作成します。
public class RibbonHome extends JPanel{
private JButton b1, b2, b3;
public RibbonHome(){
b1 = new JButton("test1");
b2 = new JButton("test2");
b3 = new JButton("test3");
add(b1);
add(b2);
add(b3);
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//UPDATE the JTree
}
});
}
}