我正試圖將一個表格移動到一個JP面板的左側,該面板也在一個視窗內
我得到的結果是這樣的。

我想要的是:

我試著使用.setBounds方法,但它不起作用。有人知道該怎么做嗎?
這是我的代碼。
這是我的代碼:
package Modulos;
import paneles.*;
import javax.swing.*;
public class ModuloAdmin extends JFrame {
public ModuloAdmin(){
//Crear tabla。
字串[][] datosprueba = {
{"001","Carlitos", "Casa","51202011"}。
{"001","Carlitos", "Casa","51202011"}.
};
String[] TituloColumna = {"Código", "Nombre", "Dirección", "Teléfono"};
JTable TablaSucursales = new JTable(datosprueba, TituloColumna)。
JPanel PanelSucursales = new JPanel();
PanelSucursales.add(TablaSucursales)。
PanelSucursales.add(new JScrollPane(TellaSucursales))。
JPanel PanelProductos = new JPanel()。
PanelProductos.add(new JLabel("Panel productos")) 。
JPanel PanelClientes = new JPanel() 。
PanelClientes.add(new JLabel("Panel Clientes")) 。
JPanel PanelVendedores = new JPanel() 。
PanelVendedores.add(new JLabel("Panel Vendedores"/span>))。
//CREACION DE PESTA?AS[/span]。
JTabbedPane Pestanias = new JTabbedPane()。
Pestanias.setBounds(20,80,700,700) 。
Pestanias.add("Sucursales",PanelSucursales)。
Pestanias.add("Productos",PanelProductos);
Pestanias.add("Clientes", PanelClientes);
Pestanias.add("Vendedores",PanelVendedores);
//vENTANA MODULO DE ADMINJFrame VentanaModuloAdmin = new JFrame();
VentanaModuloAdmin.add(Pestanias)。
VentanaModuloAdmin.setLayout(null)。
VentanaModuloAdmin.setSize(800,850) 。
VentanaModuloAdmin.setLocationRelativeTo(null)。
VentanaModuloAdmin.setTitle("Módulo de administrador"/span>)。
VentanaModuloAdmin.setVisible(true)。
VentanaModuloAdmin.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)。
}
uj5u.com熱心網友回復:
使用適當的布局管理器和容器管理
。import java.awt.EventQueue。
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.Jpanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder。
public class Test {
public static void main(String[] args){
new Test()。
}
public Test() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame() 。
frame.add(new TestPane()) 。
frame.pack();
frame.setLocationRelativeTo(null)。
frame.setVisible(true)。
}
});
}
public class TestPane extends JPanel {
private JTable table;
public TestPane() {
setBorder(new EmptyBorder(16, 16, 16, 16))。)
setLayout(new GridLayout(0, 2)。
add(new JScrollPane(table))。
add(createButtonPane())。
}
protected JPanel createButtonPane() {
JPanel panel = new JPanel(new GridBagLayout() )。
GridBagConstraints gbc = new GridBagConstraints()。
gbc.ipadx = 16;
gbc.ipady = 16;
gbc.fill = gbc.HORIZONTAL;
gbc.gridx = 0;
gbc.gridy = 0;
panel.add(new JButton("Clear"), gbc);
gbc.gridx = 1;
panel.add(new JButton("Carga Masiva"), gbc);
gbc.gridy ;
gbc.gridx = 0;
panel.add(new JButton("Actualizar"), gbc);
gbc.gridx = 1;
panel.add(new JButton("Eliminar"), gbc);
gbc.gridy ;
gbc.gridx = 0;
gbc.gridwidth = 2;
gbc.anchor = GridBagConstraints.NORTH;
gbc.weighty = 1;
panel.add(new JButton("Exportar Listado a PDF"), gbc) 。
return panel;
}
}
}
說真的,布局管理器解決了UI開發人員面臨的最困難的問題之一--輸出的可變性(螢屏解析度、字體指標、可訪問性修改器,一大堆不同的東西改變了需要計算布局的方式)。
它們在開始時可能看起來很困難,但一旦你習慣于使用它們,并學會如何利用 "復合布局"(如上文所示),它將幫助你更快地做出更好的UI
。轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/310265.html
標籤:

