3 JFrame中的Jpanel,我的按钮不可见

尼古拉斯·勒费弗

我有JFrame三个JPanel物体。我有两个面板有问题。我可以在框架中看到JPanelProduit带有对象的面板,但对于面板,JPanelInformationsJPanelVentes,我什么也看不到。我的错误在哪里?

我的密码

package IHM;

import javax.swing.*;

import Donnees.Categories;
import Donnees.CategoriesCellRenderer;
import Donnees.CategoriesListModel;
import Donnees.Marques;
import Donnees.MarquesCellRenderer;
import Donnees.MarquesListModel;
import Donnees.Produits;
import Donnees.ProduitsCellRenderer;
import Donnees.ProduitsListModel;
import Fabriques.FabCategories;
import Fabriques.FabMarques;

import java.awt.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
public class Fenetre {
    
static Connection conn;

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        Class.forName("org.hsqldb.jdbcDriver");
        conn=DriverManager.getConnection("jdbc:hsqldb:file:BDD/bdd","sa","");

        FabCategories.getInstance().demarrerConnexion(conn);
        FabMarques.getInstance().demarrerConnexion(conn);
        
        JFrame f = new JFrame("Gestion des Produits");
        f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        f.setLayout(new GridLayout(1,2,3, 3));
 
        JPanelProduit jPanelProduit = new JPanelProduit();
        JPanelInformations jPanelInformations = new JPanelInformations();
        JPanelVentes jPanelVentes = new JPanelVentes();
        
        jPanelProduit.setBackground(Color.GREEN);
        jPanelProduit.setBackground(Color.YELLOW);
        jPanelVentes.setBackground(Color.PINK);
        
        f.add(jPanelProduit);
        f.add(jPanelInformations);
        f.add(jPanelVentes);
        f.setSize(700,700);
        f.pack();
        f.setVisible(true);
    }
}
 
class JPanelProduit extends JPanel {
     
    public JPanelProduit() throws SQLException {
        setLayout(new GridLayout(5,2,5,5));
        
        String labelCat = "Categories";
        String labelMark = "Marques";    
        String labelProd = "Produits"; 
        
        JList<Categories> listCategories= new JList<Categories> ();
        JList<Marques> listMarques= new JList<Marques> ();
        JList<Produits> listProduits= new JList<Produits> ();
        
        JScrollPane listCategoriesScrollPane = new JScrollPane (listCategories);        
        
        add(new JLabel(labelCat));
        add(new JScrollPane(listCategoriesScrollPane));
        listCategories.setCellRenderer(new CategoriesCellRenderer());;
        listCategories.setModel(new CategoriesListModel());
        
        add(new JLabel(labelMark));
        JScrollPane listMarquesScrollPane = new JScrollPane (listMarques);        
        add(new JScrollPane(listMarquesScrollPane));
        listMarques.setCellRenderer(new MarquesCellRenderer());
        listMarques.setModel(new MarquesListModel());
        
        add(new JLabel(labelProd));
        JScrollPane listProduitScrollPane = new JScrollPane (listProduits);        
        add(new JScrollPane(listProduitScrollPane));
        //listProduits.setCellRenderer(new ProduitsCellRenderer());
        //listProduits.setModel(new ProduitsListModel());
        
    }
}
 
class JPanelInformations extends JPanel {
  
    public JPanelInformations() {
        JPanel PanelInformation = new JPanel();
        setLayout(new GridLayout(7,1,5,5)); 
        
        JLabel labelInfo = new JLabel ("INFORMATION");
        JLabel labelPrix = new JLabel ("Prix");
        JLabel labelDesc = new JLabel ("Description");    
        JLabel labelQuant = new JLabel ("Quantite");    
        JTextField fieldPrix = new JTextField (20); 
        JTextArea fieldDesc = new JTextArea (20, 20); 
        JTextField fieldQuantite = new JTextField (20); 
            
        PanelInformation.add(labelInfo);
        PanelInformation.add(labelPrix);
        PanelInformation.add(fieldPrix);
        PanelInformation.add(labelDesc);
        PanelInformation.add(fieldDesc);
        PanelInformation.add(labelQuant);
        PanelInformation.add(fieldQuantite);
    }
}

class JPanelVentes extends JPanel {
         
    public JPanelVentes() {
        JPanel PanelVentes = new JPanel();
        setLayout(new GridLayout());
        JLabel labelVendre = new JLabel ("VENDRE");
        JLabel labelQte = new JLabel ("Quantite");
        JLabel labelPromo = new JLabel ("Promotion");
        JLabel labelTot = new JLabel ("Total");    
        JTextField fieldQte = new JTextField (20); 
        JTextField fieldPromoEuros = new JTextField (20); 
        JTextField fieldPromoPourcent = new JTextField (20); 
        JTextField fieldTotal = new JTextField (20); 
        
        
        PanelVentes.add (labelVendre);
        PanelVentes.add (labelQte);
        PanelVentes.add (fieldQte);
        PanelVentes.add (labelPromo);
        PanelVentes.add (fieldPromoEuros);
        PanelVentes.add (fieldPromoPourcent);
        PanelVentes.add (labelTot);
        PanelVentes.add (fieldTotal);
    }
}
斑点

试试这个:

public JPanelInformations() {
    //JPanel PanelInformation = new JPanel(); remove new instance of panel
    setLayout(new GridLayout(7,1,5,5)); 

    JLabel labelInfo = new JLabel ("INFORMATION");
    JLabel labelPrix = new JLabel ("Prix");
    JLabel labelDesc = new JLabel ("Description");    
    JLabel labelQuant = new JLabel ("Quantite");    
    JTextField fieldPrix = new JTextField (20); 
    JTextArea fieldDesc = new JTextArea (20, 20); 
    JTextField fieldQuantite = new JTextField (20); 

    add(labelInfo); //remove PanelInformation.
    add(labelPrix);//remove PanelInformation.
    add(fieldPrix);//remove PanelInformation.
    add(labelDesc);//remove PanelInformation.
    add(fieldDesc);//remove PanelInformation.
    add(labelQuant);//remove PanelInformation.
    add(fieldQuantite);//remove PanelInformation.
}

public JPanelVentes() {
    //JPanel PanelVentes = new JPanel(); remove the new instance of JPanel
    setLayout(new GridLayout());
    JLabel labelVendre = new JLabel ("VENDRE");
    JLabel labelQte = new JLabel ("Quantite");
    JLabel labelPromo = new JLabel ("Promotion");
    JLabel labelTot = new JLabel ("Total");    
    JTextField fieldQte = new JTextField (20); 
    JTextField fieldPromoEuros = new JTextField (20); 
    JTextField fieldPromoPourcent = new JTextField (20); 
    JTextField fieldTotal = new JTextField (20); 


    add (labelVendre); //remove PanelVentes
    add (labelQte);//remove PanelVentes
    add (fieldQte);//remove PanelVentes
    add (labelPromo);//remove PanelVentes
    add (fieldPromoEuros);//remove PanelVentes
    add (fieldPromoPourcent);//remove PanelVentes
    add (labelTot);//remove PanelVentes
    add (fieldTotal);//remove PanelVentes
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何让我的按钮在 3 秒内不可见?

来自分类Dev

标签在崇高文字3中不可见

来自分类Dev

选项卡图标在离子 3 中不可见

来自分类Dev

D3.js图表在Internet Explorer 11中可见,但在Internet Explorer 11中不可见

来自分类Dev

切换以使D3中的Mapbox中的背景图可见/不可见

来自分类Dev

如何使jframe中的jpanel可见

来自分类Dev

Unity3d C#-变量在检查器中可见,但对其他类不可见

来自分类Dev

JTable在JPanel中不可见

来自分类Dev

C3图表在Bootstrap网格布局中不可见

来自分类Dev

密钥在pm3d gnuplot中变得不可见

来自分类Dev

GNOME 3中JetBrains的PyCharm窗口中的不可见文本

来自分类Dev

Python 3 元类定义的函数在从元类派生的类中不可见

来自分类Dev

JButton的阵列添加到JPanel(按钮不可见)

来自分类Dev

表格中的不可见/可见提交按钮

来自分类Dev

按钮在设备中不可见

来自分类Dev

按钮在Android活动中不可见

来自分类Dev

按钮内容在WPF中不可见

来自分类Dev

Chromecast按钮在Android中不可见

来自分类Dev

object3D变形目标不可见

来自分类Dev

从S3索引函数“ [”返回,不可见

来自分类Dev

图例在d3.js饼图中不可见

来自分类Dev

使按钮可见和不可见

来自分类Dev

按钮可见和不可见

来自分类Dev

整数返回方法使组件在JPanel中不可见

来自分类Dev

JPanel和JScrollPane在Swing App中不可见

来自分类Dev

我的列表视图从Android中的所有行的不可见删除按钮

来自分类Dev

正、负和中性按钮在我的应用中不可见

来自分类Dev

运行应用程序时,我的按钮不可见

来自分类Dev

Java应用程序(Processing IDE)附加窗口在i3wm中不可见,常见修补程序不起作用

Related 相关文章

热门标签

归档