プロジェクト用に小さなJavaアプレットを作成する必要があります。私はこれまでアプレットを使用したことがありません。したがって、利用可能なさまざまな組み込み関数についてはよくわかりません。このアプレットのレイアウトは次のとおりです。
- 画面は3つの部分に分かれています
- 最上部には、ボタンとテキストボックスのセットがあります
- 中央部と下部は異なる画像を表示します
- これらの画像は、プログラムを実行するたびにサイズが変わる可能性があります(したがって、画像が画面から消える場合に備えてスクロールバーが必要です)
これまで、画面を分割し、パーツごとに個別のパネルを作成し、それらに対応するコンポーネントを追加することに成功しました。
問題:
下の画像は完全には見えません。また、画像がパネルに収まらない場合、各画像のスクロールバーは表示されません。
setSize()
、メソッドを使用してみsetMinimumSize()
ましたが、出力に変更はありません。上記の問題について私を助けてくれませんか?
これは私が今までやってきたことです:
/*<applet code=DOSlayout.java width=400 height=400>
</applet>*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DOSlayout extends JApplet implements ActionListener {
Button ViewButton;
Panel1 Top;
Panel2 LeftSide;
Panel3 RightSide;
Label l1,l2,l3;
Image img;
public void init() {
setSize(400,400);
setLayout(new BorderLayout());
Top = new Panel1();
LeftSide = new Panel2();
RightSide = new Panel3();
Top.setSize(getSize().width, getSize().height/3);
LeftSide.setSize(getSize().width,getSize().height/3);
RightSide.setSize(getSize().width,getSize().height/3);
//RightSide.setMinimumSize (new Dimension(400, 10000));
add(Top, BorderLayout.NORTH);
add(LeftSide, BorderLayout.CENTER);
add(RightSide, BorderLayout.SOUTH);
ViewButton = new Button("View");
l1 = new Label("North");
l2 = new Label("East");
l3 = new Label("West");
Top.add(ViewButton);
Top.add(l1);
//LeftSide.add(l2);
//RightSide.add(l3);
ViewButton.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
class Panel1 extends JPanel {
Panel1() {
super();
}
public void paint(Graphics g) {
}
}
class Panel2 extends JPanel {
Panel2() {
super();
}
private Image img;
public void init()
{
img = null;
}
public void loadImage()
{
try
{
img = getImage(getCodeBase(), "input1.png");
}
catch(Exception e) { }
}
public void paint(Graphics g)
{
if (img == null)
loadImage();
g.drawImage(img, 0, 0, this);
//g.drawImage(img,0,0,(int)getBounds().getWidth(), (int)getBounds().getHeight(),this);
}
}
class Panel3 extends JPanel {
Panel3() {
super();
}
private Image img;
public void init()
{
img = null;
//setSize(400,400);
}
public void loadImage()
{
try
{
img = getImage(getCodeBase(), "input2.png");
}
catch(Exception e) { }
}
public void paint(Graphics g)
{
if (img == null)
loadImage();
g.drawImage(img, 0, 0, this);
//g.drawImage(img,0,0,(int)getBounds().getWidth(), (int)getBounds().getHeight(),this);
}
}}