• 締切済み

解像度より大きなWindowにスクロールバーをつける

はじめまして, 簡単なお絵かきツールを作ろうと思っているのですが,画面解像度(1024x768)より大きなサイズのWindow(1280x1024)を生成して,実行時の最初には,画面に収まる大きさで(表示できない部分については,スクロールバーで見えるようにしたい)表示するには,どうしたらよいのでしょうか.ご存知の方がおられましたら教えてください. 画像は,ContentPane上に表示したいと考えています. public class MyWin1 extends JFrame implements ActionListener{ public MyWin1(String title){ super(title); setSize(1280,1024);           …

  • Esna
  • お礼率100% (3/3)
  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

  • mrt136
  • ベストアンサー率35% (33/92)
回答No.1

java.awt.ScrollPane を使うとかじゃ駄目ですか?

Esna
質問者

お礼

ありがとうございます. ご回答のとおり,ScrollPaneを使うとScrollは付くのですが,Frameの初期値の大きさ(1280,1024)を画面より大きくしておいて,最初のWindowsizeを(600,400)にしたいということができないのです. もうすこしがんばってみます.

関連するQ&A

  • Java-Swing TextAreaにスクロールバーが表示されない!

    複数の参考書、ネット、大学の先生に聞いても解決できないのですが、テキストエリアにスクロールバーが表示されません。 以下が、ポイントと思われるソースの一部です。 import javax.swing.*; import javax.swing.ScrollPaneConstants; import javax.swing.JScrollPane; public class MyClient extends JFrame implements MouseListener,MouseMotionListener,ActionListener { private Container c; JTextArea taMain; JScrollPane scrollPane = new JScrollPane(taMain); public MyClient() { setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(500,500); setVisible(true); c = getContentPane(); c.setLayout(null); taMain = new JTextArea(20,50); taMain.setBounds(10,10,150,300); c.add(taMain); c.add(scrollPane); taMain.setEditable(false); ・ ・ ・ ・ こんな感じです。 間違っている個所が分かりません。 困り果てているので、分かる方がいらっしゃれば教えてください。

    • ベストアンサー
    • Java
  • フォルダ選択させる方法

    Web上のアプレットをユーザがIEで表示させて、アプレットのボタンを押すとフォルダ選択の ダイアログが出るものを作っています。 ダイアログはJFileChooserのものしか知らないのですが他によいものがありましたら教えてください。 JFileChooserでダイアログを出そうとしていますが、 public class AppletMain extends Applet implements ActionListener{ JFileChooser filechooser = new JFileChooser(""); これでjava.lang.ClassNotFoundException: javax.swing.JFileChooserのエラーが出ます。 JFileChooserの動作確認で public class AppletTest extends JFrame implements ActionListener{ JFileChooser filechooser = new JFileChooser(""); だとうまくいきます。 public class AppletMain がextends Appletなのが実行時エラーの原因だと思って public class AppletMain extends Applet,JFrame implements ActionListener{ とするとコンパイルエラーでした。こんなことも試さないと分からないほど素人です。 フォルダ選択させる方法を教えてください。

  • 画面解像度の最高以上の解像度を設定してスクロールさせて見るということはできませんか?

    Windows XP のノートPCを使用しているのですが、これの解像度が 1024x768 です。しかし動かしたいソフトは 1280x1024 でないと正常動作しません。この場合に 1280x1024 の仮想画面を作って 1024x768 の中に出してマウスカーソルが画面の端に移動したら画面の隠れていた部分がスクロールして出るようにするためのソフトというのはないんでしょうか? (昔のノートPCはたしかできましたよね? UNIXやLinuxなどでよく使われる X Window System でもたしかそんな設定がありました)。 ノートPCの液晶ではなくて外付けのディスプレイを付ければ(表示可能なディスプレイならば)設定を変えて 1280x1024 で表示可能なことは分かっています。これをせずに単体でやるためにソフト的に何か方法がないか知りたいということです。よろしくお願いします。

  • テキストフィールドの文字をテキストエリアに表示する

    エラーも例外もないです。 但し今回の内容の"テキストフィールドに打ち込みエンターキーを文字をテキストフィールドに表示" が満たしてないですとりあえずソース乗せます mport java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class MyMemo { public static void main(String[] args) { JFrame Frame = new JFrame("課題"); Frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Frame.setSize(500, 500); Frame.setLocationRelativeTo(null); Container contentPane = Frame.getContentPane(); // テキストフィールドのインスタンスを生成 final JTextField text = new JTextField();// テキストエリアのインスタンスを生成 text.addActionListener(new MyActionListener()); Frame.setVisible(true); final JTextArea Area = new JTextArea(5,0); // スクロールペインにテキストエリアを追加 JScrollPane scrollPane = new JScrollPane(Area); // パネルをコンポーネントに配置 contentPane.add(text, BorderLayout.NORTH); contentPane.add(scrollPane, BorderLayout.CENTER); Frame.setVisible(true); } static class MyActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { } } } どう文字をテキストエリアに表示したらいいのかわからなくて質問させていただきました。 よろしくお願いします。

    • ベストアンサー
    • Java
  • スクロールバー

     あるボタンを押すと、「window.open()」で別画面を表示させているのですが、その画面にスクロールバーが出て来ずに、下部の方にある文字や画像が見れない状態で困っています。  どなたか解決法を教えてください。よろしくお願いします。

  • actionListenerについて

    ど素人です 改行の関係でimportは省略してます labelにActionListenerが登録できないのですが、なぜでしょうか class test extends JFrame{ test() { getContentPane().setLayout(new FlowLayout()); JLabel label = new JLabel("てすと"); JButton b1 = new JButton("OK"); b1.addActionListener(label); getContentPane().add(b1); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setTitle("JButtonTest"); setSize(200, 100); setVisible(true); } public static void main(String[] args) { new test(); } } class LetLabel extends JLabel implements ActionListener{ public void LetLabe(){ } public void actionPerformed(ActionEvent ae){ } }

    • ベストアンサー
    • Java
  • メニューバーのプログラム

    javaで、メニューバーの項目を選んだら動作するプログラムを試しに組んでみようとしたのですがうまくいきません。 どう組めばいいか教えてください。 メニューバーの項目を選んだあとに出てくるメニューを選ぶと動作するプログラムは検索してすぐ出てくるのですが…。 下のプログラムはメニューバーのEndを押すと終了する、にならなかったプログラムです。 import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; class Test1 extends JFrame{ public static void main(String args[]){ Test1 frame = new Test1("タイトル"); frame.setVisible(true); } Test1(String title){ setTitle(title); setBounds(100, 100, 300, 250); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JMenuBar menubar = new JMenuBar(); JMenu menu1 = new JMenu("End"); menu1.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.exit(0); } }); menubar.add(menu1); setJMenuBar(menubar); Container contentPane = getContentPane(); } }

    • ベストアンサー
    • Java
  • ActionListener について

    JFrame の上に JPanel があり、JPanel の上に JButton があるとします。 JButton が押されたことを JFrame に知らせるにはどうしたらいいでしょうか。 わかるところまで書いてみました。 class MyFrame extends JFrame implements ActionListener { MyPanel myPanel = new MyPanel(); MyFrame() { myPanel.addActionListener(this); add(myPanel); } public void actionPerformed(ActionEvent e) { System.out.println("The button on the MyPanel was pressed!"); } public static void main(String[] args) { new MyFrame(); } } class MyPanel extends JPanel implements ActionListener { JButton button1 = new JButton(); MyPanel() { button1.addActionListener(this); add(button1); } public void actionPerformed(ActionEvent e) { } }

    • ベストアンサー
    • Java
  • スクロール表示

    お願いします。 初めてswingに挑戦中なのですが・・・ tableをスクロール表示させたいのですがどうしてもできません。どうしたらよいでしょうか?教えてください import java.lang.*; import javax.swing.*; import javax.swing.table.*; import java.awt.*; public class SwingTableApp extends JFrame { public JTable table; public JLabel label; public SwingTableApp(String[][] data) { super("parallel Machine Scheduling"); setLocation(50,50); setSize(400,700); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().setLayout(null); DefaultTableModel tableModel = new DefaultTableModel(); for(int k=0; k<data[0].length; k++){ tableModel.addColumn("TEST"); }//列の設定 for(int j=0; j<data.length; j++){ tableModel.addRow(data[j]); }//行の設定 table = new JTable(tableModel); table.setLocation(10,10); table.setSize(2000,200); getContentPane().add(table); label = new JLabel("目的関数"); label.setLocation(10,210); label.setSize(100,25); getContentPane().add(label); } }

    • ベストアンサー
    • Java
  • モーダレスダイアログについて

    はじめまして。 モーダレスダイアログについて質問がございます。フレーム(JFrame 継承)から、このフレームを所有者とするモーダレスダイアログ(JDialog 継承)を表示した状態で、マウスクリックによりフレームをアクティブにした場合、フレームは背面に表示されたままとなりますが、このフレームをダイアログの前面に表示させることは可能でしょうか?ご存知の方がいらっしゃいましたらご教授願います。尚、下記にサンプルソースを記載します。 ■環境  OS:WinXP  java:j2sdk1.4.2_08 ※ダイアログ生成時に所有者を指定しなければ、フレームをダイアログ前面に表示させることが可能ですが、この方法だと再度モーダレスダイアログをアクティブにした場合、上記とは別インスタンスのフレームから表示されたモーダレスダイアログも連動して前面に表示されるという事象を確認しております。 public class ParentFrame extends JFrame implements ActionListener { public static void main(String[] args) { ParentFrame frame = new ParentFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } public ParentFrame() { super("親フレーム"); setSize(300, 200); setLocationRelativeTo(null); JButton btn = new JButton("ダイアログ表示"); btn.addActionListener(this); getContentPane().add(btn); } public void actionPerformed(ActionEvent e) { // モーダレスダイアログ生成 JDialog dlg = new JDialog(this, "子ダイアログ"); dlg.setSize(200, 100); dlg.setLocationRelativeTo(this); dlg.setVisible(true); } }

専門家に質問してみよう