2017-10-11 16 views
0

私のプロジェクトでは、ユーザーがフレームのサイズを変更したり画面の解像度を低くしたりすると、すべての情報を含むJPanelがJFrameより大きくなります。コード例を挙げればJPanelがJFrameより大きいJScrollpaneを追加する

import java.awt.Color; 

import javax.swing.JFrame; 
import javax.swing.JPanel; 

public class scroll{ 

    public static void main(String[] args) { 
     JFrame frame = new JFrame("Example"); 
     frame.setSize(500, 500); 
     frame.setLayout(null); 

     JPanel panel = new JPanel(); 
     panel.setBackground(Color.BLACK); 
     panel.setBounds(5, 5, 450, 600); 

     frame.add(panel); 

     frame.setVisible(true); 
     frame.setLocationRelativeTo(null); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 

} 

誰かが親切に、このためにJScrollPaneを追加する方法を説明することができ、ここで見て、より広いウェブを持っていますが、このための答えやチュートリアルを見つけることができないようです。

私はこれがあなたの答えを与えることを願っています
+0

多分あなたはframe.setContentPane(パネル)を使用する必要があり、ちょうどframe.addない(パネル) – Hejun

+0

@Hejun:への 'のJFrame :: add'転送コンテンツペイン。 – trashgod

+0

@mainsworth: 'null'レイアウトを使わないでください。 – trashgod

答えて

1

import java.awt.*; 

import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.JScrollPane; 

public class panel{ 

    public static void main(String[] args) { 
     JFrame frame = new JFrame("Example"); 
     frame.setSize(500, 500); 

     JPanel panel = new JPanel(); 
     panel.setBackground(Color.BLACK); 
     panel.setPreferredSize(new Dimension(450,600)); 

     JScrollPane scrollPane = new JScrollPane(panel); 

     frame.setContentPane(scrollPane); 

     frame.setVisible(true); 
     frame.setLocationRelativeTo(null); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 
} 
+1

しかし、なぜあなたはOPの(はい私が知っている)ではなく、OPの魚を与える作業を答えるだろう、おそらくあなたは彼に魚をどのように教えたいと思います – MadProgrammer

+0

私はあなたの点を考慮する。私は決して最初に答えを与えることはありません –

+0

ガネーシュ、実際に変更を視覚化するのに役立つ、Javaは最も直感的なプログラミング言語ではありません。 –

関連する問題