私は少しSwingを学ぼうとしていて、14.46.2.AddコンポーネントをJScrollPaneの例にしようとしています。コードは次のとおりです。
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.border.LineBorder;
public class AddingToJScrollPane {
public static void main(String args[]) {
JFrame frame = new JFrame("Tabbed Pane Sample");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Label");
label.setPreferredSize(new Dimension(1000, 1000));
JScrollPane jScrollPane = new JScrollPane(label);
JButton jButton1 = new JButton();
jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
jScrollPane.setViewportBorder(new LineBorder(Color.RED));
jScrollPane.getViewport().add(jButton1, null);
frame.add(jScrollPane, BorderLayout.CENTER);
frame.setSize(400, 150);
frame.setVisible(true);
}
}
このページから、期待される結果を確認できます。
ただし、そのコードをコピーして貼り付けるだけで、下の画像の結果が得られます。例が古くなっているのか、それとも例の画像が間違っているのかを理解しようとしています (チュートリアル画像の赤い境界線はどこにありますか?)。さらに、スクロールバーが有効になっていると思っているのに有効になっていません。それらを有効にするために何か不足していますか(チュートリアルでは問題ありません)?私はJDK7を使用しています。