나는이 응용 프로그램을 가지고 있는데, 나는 BorderLayout을 사용하는 JFrame을 가지고 있습니다. JFrame은 JPanel이고, JPanel은 MigLayout을 사용하고 있습니다. JButton을 화면 왼쪽 하단에 유지하려고 시도하고 CSS의 "position : fixed"속성과 비슷한 효과를냅니다.스윙 - 응용 프로그램에서 스크롤 할 때 항상 JButton을 페이지에 머물게 할 수 있습니다.
코드로이 효과를 얻을 수있는 방법에 대한 팁은 무엇입니까?
다른 소스에서 시도한 JLayeredPane 코드이지만 여전히 작동하지 않습니다.
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
if (info.getName().equals("Nimbus")) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
MainFrame frame = new MainFrame();
ForumMainPage panel = new ForumMainPage(frame);
panel.setFocusable(true);
panel.requestFocusInWindow();
frame.add(jLabelOnJButton());
frame.setContentPane(panel);
frame.pack();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MainFrame() {
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension dim = tk.getScreenSize();
this.setSize(dim);
this.setUndecorated(true);
this.setExtendedState(Frame.MAXIMIZED_BOTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLayout(new BorderLayout());
this.add(jLabelOnJButton(),BorderLayout.CENTER);
}
private static JComponent jLabelOnJButton(){
JLayeredPane layers = new JLayeredPane();
JLabel label = new JLabel("label");
JButton button = new JButton("button");
label.setBounds(40, 20, 100, 50);
button.setBounds(100, 20, 150, 75);
layers.add(label, new Integer(200));
layers.add(button, new Integer(100));
return layers;
}
}
미리 감사드립니다. OverlayLayout에를 사용하여
자세한 내용은 How to use Root Panes은 ... – MadProgrammer