私はカードレイアウトを使用してパネルのリストを表示しています。パネルの1つでは、私はJTable
にいくつかの列と行のレコードを持っています。 今、私は、ユーザーがログインするかによって、JTable
の最初の列を削除したいの下 (ログインJFrame
で)私のコードです:。他のクラスからjTable列を削除する方法
//calling the jframe that holds the cardlayout
Home home= new Home();
//calling the panel that holds the jtable
viewRecords b =new viewRecords();
//when a user logs in
//removing the 1st column of the jtable in panel viewRecords
b.jTable1.removeColumn(b.jTable1.getColumnModel().getColumn(0));
//displaying jFrame Home
Home.setVisible(true);
問題がある:それは時に正常に動作しますテーブルを表示するにはJFrame
を使用しますが、同じテーブルを表示するにはJPanel
を使用している間は機能しません。どのようにこの作品を作るための任意のアイデアですか?
「JTable」は 'JPanel'でも見えませんか?問題の詳細をご記入ください。これはあなたにも役立つかもしれない[JavaでJPanelでJTableを表示する方法](http://stackoverflow.com/a/2623987/5702956) –
タイトルは、質問の最初の文と組み合わせると、コードは 'JPanel'を拡張します。その評価は正しいですか? 'paintComponent(Graphics)'メソッドをオーバーライドするときにパネルを拡張することが実際に必要なだけで、これはそのような状況には見えないので、私は尋ねます。また、モデル(例えば、テーブルモデル)は、設計が不良であるビュー(パネル)にあまりにも拘束されており、最初に修正する必要があります。 –