JDesktopPane と JInternalFrame があります。JInternalFrame を作成した後、自動的に最大化するようにしたいと考えています。「ウィンドウの最大化」イベントをハードコーディングするにはどうすればよいですか?
質問する
970 次
3 に答える
2
JInternalFrame.setMaximum(true)
フレームを作成した後に使用します。
フレームを最大化する方法は次のとおりです。
JInternalFrame frame = ...
frame..setMaximum(true); // Maximize this window to fill up the whole desktop area
于 2012-07-06T17:32:30.513 に答える
1
JInternalFrameのメソッドsetMaximum(boolean b)を"true"に設定すると、最大化されます。
例えば:
JInternalFrame.setMaximum(true)
于 2012-07-06T17:35:36.743 に答える
1
- 上で既に提案されている: JInternalFrame#setMaximum(boolean)
- 別のオプション: DesktopManager#maximizeFrame(JInternalFrame)
- JDesktopPane のサイズが変更されたときの動作が少し異なります。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class JInternalFrameMaximumTest {
public JComponent makeUI() {
final JDesktopPane desktop = new JDesktopPane();
Action a1 = new AbstractAction("JInternalFrame#setMaximum") {
@Override public void actionPerformed(ActionEvent e) {
JInternalFrame f = new JInternalFrame("#",true,true,true,true);
desktop.add(f);
f.setVisible(true);
try {
f.setMaximum(true);
} catch(java.beans.PropertyVetoException ex) {
ex.printStackTrace();
}
}
};
Action a2 = new AbstractAction("DesktopManager#maximizeFrame(f)") {
@Override public void actionPerformed(ActionEvent e) {
JInternalFrame f = new JInternalFrame("#",true,true,true,true);
desktop.add(f);
f.setVisible(true);
desktop.getDesktopManager().maximizeFrame(f);
}
};
JToolBar toolbar = new JToolBar("toolbar");
toolbar.add(new JButton(a1));
toolbar.add(new JButton(a2));
JPanel p = new JPanel(new BorderLayout());
p.add(desktop);
p.add(toolbar, BorderLayout.NORTH);
return p;
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override public void run() {
createAndShowGUI();
}
});
}
public static void createAndShowGUI() {
JFrame f = new JFrame();
f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
f.getContentPane().add(new JInternalFrameMaximumTest().makeUI());
f.setSize(640, 240);
f.setLocationRelativeTo(null);
f.setVisible(true);
}
}
于 2012-07-06T18:17:25.937 に答える