자바 스윙을 사용하여 GUI를 만들려고합니다. 자바 스윙의 초보자입니다. 내 기본 아이디어는 두 개의 탭을 만들고 탭 중 하나에 버튼을 추가하는 것이 었습니다.자바의 자바 탭 패널에 버튼 컴포넌트 추가
각 탭마다 별도의 클래스를 작성하여 하나의 기본 메소드가있는 3 개의 클래스를 만들고 나머지 두 개는 탭을 나타냅니다.
탭 중 하나에서 중간에 단추를 추가하고 해당 단추에 동작 수신기를 추가하려고했습니다.
아래는 main 메소드가있는 클래스입니다.
public class abc {
JFrame frame;
JTabbedPane tabPane;
ImageIcon close;
Dimension size;
int tabCounter = 0;
abc_export exp;
abc_import imp;
public static void main(String[] args) {
abc jtab = new abc();
jtab.start();
}
public void start(){
exp=new abc_export();
imp=new abc_import();
tabPane.addTab(null, exp.panel);
tabPane.addTab(null, imp.panel);
tabPane.setTabComponentAt(tabPane.getTabCount()-1, exp.tab);
tabPane.setTabComponentAt(tabPane.getTabCount()-1, imp.tab);
}
public abc() {
// Create a frame
frame = new JFrame();
// Create the tabbed pane.
tabPane = new JTabbedPane();
// Create a button to add a tab
// Create an image icon to use as a close button
close = new ImageIcon("C:/JAVAJAZZUP/tabClose.gif");
size = new Dimension(close.getIconWidth()+1, close.getIconHeight()+1);
//Adding into frame
frame.add(tabPane, BorderLayout.CENTER);
frame.setSize(300, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
};
아래는 탭 중 하나의 코드입니다. 다른 탭에도 다른 클래스 이름이있는 다른 탭을 나타내는 코드가 있습니다.
public class abc_import {
ImageIcon close;
Dimension size;
int tabCounter = 0;
JPanel tab;
final JPanel panel;
public abc_import() {
close = new ImageIcon("C:/JAVAJAZZUP/tabClose.gif");
size = new Dimension(close.getIconWidth()+1, close.getIconHeight()+1);
//Adding into frame
JLabel label = null;
panel = new JPanel();
// Create a panel to represent the tab
tab = new JPanel();
tab.setOpaque(false);
String str = "abc_import";
label = new JLabel(str);
tab.add(label, BorderLayout.WEST);
}
};
예상대로 두 탭이 생성됩니다. 그러나 탭 중 하나에 단추를 추가하는 것에 대한 아이디어가 없습니다.
이제 내 질문은 내가 이미 말한 것처럼 탭 중 하나에 버튼을 추가하려는 경우입니다.해야 할 일은 무엇입니까? 누구도 도와 줄 수 있습니까?
더 나은 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. –
버튼 중 하나에 버튼 구성 요소를 추가하려고합니다. – Vijay
@ sarathi : 아래에 나와있는 답변 중 하나라도 해당되면 답변을 수락하여 다른 사용자에게 도움이되도록하십시오. –