의 모든 내용을 Jinternal 프레임으로 가져오고, jlabel, jtextfield 등을 추가하더라도 Jinternalframe이 버튼 뒤에 표시됩니다. 내부 프레임이 모든 것 뒤에 열립니다. 내가 tofront() 및 movetofront() 함수를 시도했지만 작동하지 않는 것 같습니다. plz 도움말, 감사합니다.새로운 버튼을 클릭 할 때이 코드에서
코드 : 새로운 버튼을 클릭
import java.awt.BorderLayout;
import java.awt.CardLayout;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Messages2 extends JFrame {
JFrame frame;
JButton button1;
public static void main(String[] args) {
Messages2 window = new Messages2();
window.frame.setVisible(true);
}
public Messages2() {
frame = new JFrame();
frame.getContentPane().setBackground(Color.WHITE);
frame.setBounds(100, 100, 220, 220);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
//frame.getContentPane().setLayout(new FlowLayout());
JButton btnNew = new JButton("New Message");
btnNew.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
JDesktopPane desktopPane = new JDesktopPane();
JInternalFrame intFrame = new JInternalFrame(
"JInternalFrame demo");
intFrame.setMaximizable(true);
intFrame.setIconifiable(true);
intFrame.setResizable(true);
intFrame.setClosable(true);
intFrame.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);
intFrame.setSize(320, 240);
// intFrame.pack();
intFrame.setVisible(true);
desktopPane.add(intFrame);
frame.add(desktopPane, BorderLayout.CENTER);
}
});
btnNew.setBounds(1, 35, 145, 31);
frame.getContentPane().add(btnNew);
}
}
위 코드를 편집했는데 여전히 작동하지 않는 것 같은데요, 아직 누락 된 부분이 있습니까? 다른 레이아웃을 유지하면 내부 프레임은 여전히 버튼 뒤쪽에 있습니다. –
패널 (버튼)과 데스크탑 패널이 프레임의 다른 영역으로 이동해야하며 예제 코드가 있어야합니다. 코드가 내 것과 비슷한가요? BorderLayout의 어느 부분에 버튼을 추가하고 있습니까? 버튼을 놓을 위치를 지정하지 않으면?실천 사례로 시작하는 것이 어떻습니까? 튜토리얼에 대한 링크를 줬어. 튜토리얼을 읽는 동안 레이아웃 관리자에 대한 섹션을 읽을 수 있습니다.이 섹션에는 작업 예제가 들어있는 'How to Use BorderLayout' 섹션도 있습니다. – camickr