Javaでグラフィックキャンバスを作成する場合、どちらを拡張するのが良いでしょうか? JPanel または Canvas を拡張する必要がありますか? パフォーマンスに関する考慮事項はありますか?
4828 次
1 に答える
2
JComponent
カスタムレンダリング領域内に他のコンポーネントを配置する必要がない限り、多くの場合、必要なのはaのサブクラス化JPanel
だけです(特に役立つものは何もありません)。
SwingとAWTの混合
ところで-SwingとAWTの混合には特に注意してください。これは通常、SwingフローティングGUI要素のレンダリングの問題を引き起こします。Java 7は、SwingとAWTベースのコンポーネントをシームレスに組み合わせる機能を提供することを約束します。
例えば
import java.awt.*;
import javax.swing.*;
class MixSwingAwt {
public static void main(String[] args) {
JPanel p = new JPanel(new BorderLayout(10,10));
String[] fruit = {"Apples", "Oranges", "Pears"};
JComboBox fruitChoice = new JComboBox(fruit);
p.add(fruitChoice, BorderLayout.NORTH);
p.add(new TextArea(10,20));
JOptionPane.showMessageDialog(null, p);
}
}
スクリーンショット
が展開されたときのJava6を使用したダイアログのスクリーンショットJComboBox
。
の上部が表示されますApples
が、リストの残りの部分が欠落しています。
于 2011-04-20T23:12:38.507 に答える