Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> прогу помогите пределать интерфейс 
V
    Опции темы
xber9
Дата 23.11.2007, 12:54 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 21.1.2007

Репутация: нет
Всего: нет



вот написал интерфейс но что то начудил и он не правельно отображается (запуститие увидите ) 
прошу помогите правельно переделать код
Код

package java_mysql;

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.Box;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.awt.Dimension;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class MainFame
        extends JFrame {
  BorderLayout borderLayout1 = new BorderLayout();
  JMenuBar jMenuBar1 = new JMenuBar();

  JTabbedPane jTabbedPane1 = new JTabbedPane();
  Component hstrut4 = Box.createHorizontalStrut(8);
  JPanel booksPanel=new JPanel();
  JTextField nazv=new JTextField(10);
Box bbox112=Box.createHorizontalBox();
  JTextField avtor=new JTextField(10);
  JTextField cena=new JTextField(10);
  JTextField data=new JTextField(10);
JButton select=new JButton("Выбрать");
Object[][] dan={{"1","","","","",""}};
  Object[] names={"назывние","цена", "Автор","тема","Дата поступления", "на складе"};
JTable booksT=new JTable(dan,names);
DefaultTableModel dtm=new DefaultTableModel();
  
  public MainFame() {
    Container mc = getContentPane();
        mc.setLayout(new FlowLayout());
    setTitle("Главная");
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    setJMenuBar(jMenuBar1);
    jMenuBar1.add(Box.createHorizontalGlue());
    jMenuBar1.add(Opt());


    Box bbox1=Box.createVerticalBox();
    Box bbox11=Box.createHorizontalBox();
    JLabel bl1=new JLabel("Назыание");
    bbox11.add(bl1);
    bbox11.add(Box.createHorizontalStrut(8));
    bbox11.add(nazv);
    bbox11.add(Box.createHorizontalStrut(10));
    JLabel bl2=new JLabel("Автор");
    bbox11.add(bl2); 
    bbox11.add(Box.createHorizontalStrut(8));
    bbox11.add(avtor);
    bbox11.add(Box.createHorizontalStrut(10));
    JLabel bl3=new JLabel("Цена");
    bbox11.add(bl3);
    bbox11.add(Box.createHorizontalStrut(8));
    bbox11.add(cena);
    bbox11.add(Box.createHorizontalStrut(10));
    JLabel bl4=new JLabel("Дата");
    bbox11.add(bl4);
    bbox11.add(Box.createHorizontalStrut(8));
    bbox11.add(data);
    bbox11.add(Box.createHorizontalStrut(10));
    bbox11.add(select);
    bbox1.add(bbox11);
    bbox1.add(Box.createVerticalStrut(8));
    Box bbox12=Box.createVerticalBox();

bbox12.add(new JScrollPane(booksT) );
    bbox1.add(bbox12);
 
    Box vbox2 = Box.createVerticalBox();
    mc.add(vbox2, java.awt.BorderLayout.NORTH);

    jTabbedPane1.addTab("Книги", bbox11);
    jTabbedPane1.setMinimumSize(new Dimension(10, 10));
    jTabbedPane1.setPreferredSize(new Dimension(100, 100));

    vbox2.add(jTabbedPane1);

    pack();
      setLocationRelativeTo(null);  // Если это строки не будет, окно будет в левом верхнем углу
setVisible(true);

  
  }
  public JMenu Opt() {

  JMenu Opt=new JMenu("Настройки");
  JMenuItem OptionsM=new JMenuItem(new OptionsMenu("Установки"));
  Opt.add(OptionsM);
  return Opt;
  }


  public static void main(String[] args) {
    /*
     try{
 workClass.   opt=workClass.naborNassivaZnach("Options.kir",";");
   }
              catch (Exception ex) {
                  JOptionPane.showMessageDialog(null,
                          "Файл с настройками  не доступен\nОбратитесь к разрабодчику",
                                                "Зло!", JOptionPane.ERROR_MESSAGE);
              }



    try {
     // Регистрация драйвера MySQL
     Class.forName("com.mysql.jdbc.Driver").newInstance();
   }
   catch (Exception e) {
     e.printStackTrace(System.err);
   }
*/
  
  MainFame mainfame = new MainFame();
  }




  class OptionsMenu extends AbstractAction{
  Options optio;
    OptionsMenu(String str) {
      putValue(NAME, str);

    }
    public void actionPerformed(ActionEvent e) {
  try{optio.setVisible(true);}
     catch(Exception ex){
          optio=new Options();  }
    }
}
}


PM MAIL   Вверх
fixxer
Дата 23.11.2007, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 15
Всего: 27



Код ужасен. Назовите переменные нормально, отформатируйте. Потом объясните задачу, что хотите получить. Тогда будем думать.


--------------------
user posted image
PM MAIL ICQ   Вверх
xber9
Дата 23.11.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 21.1.2007

Репутация: нет
Всего: нет



Код

package java_mysql;

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
import javax.swing.Box;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.awt.Dimension;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class MainFame
        extends JFrame {
  JMenuBar jMenuBar1 = new JMenuBar();
  JTabbedPane jTabbedPane1 = new JTabbedPane();
  JTextField nazvanie=new JTextField(10);
  JTextField avtor=new JTextField(10);
  JTextField cena=new JTextField(10);
  JTextField data=new JTextField(10);
  JButton select=new JButton("Выбрать");
  Object[][] danie={{"1","","","","",""}};
  Object[] names={"назывние","цена", "Автор","тема","Дата поступления", "на складе"};
  JTable booksT=new JTable(danie,names);
  
  public MainFame() {
    Container myContainer = getContentPane();
    myContainer.setLayout(new FlowLayout());
    setTitle("Главная");
    setDefaultCloseOperation(DISPOSE_ON_CLOSE);

         setJMenuBar(jMenuBar1);
         jMenuBar1.add(Box.createHorizontalGlue());
         jMenuBar1.add(Opt());


           Box booksMainBox=Box.createVerticalBox();
                  Box selectBox=Box.createHorizontalBox();
                       JLabel bl1=new JLabel("Назыание");
                       selectBox.add(bl1);
                  selectBox.add(Box.createHorizontalStrut(8));
                  selectBox.add(nazvanie);
                  selectBox.add(Box.createHorizontalStrut(10));
                        JLabel bl2=new JLabel("Автор");
                        selectBox.add(bl2); 
                  selectBox.add(Box.createHorizontalStrut(8));
                  selectBox.add(avtor);
                  selectBox.add(Box.createHorizontalStrut(10));
                       JLabel bl3=new JLabel("Цена");
                       selectBox.add(bl3);
                 selectBox.add(Box.createHorizontalStrut(8));
                 selectBox.add(cena);
                 selectBox.add(Box.createHorizontalStrut(10));
                       JLabel bl4=new JLabel("Дата");
                       selectBox.add(bl4);
                selectBox.add(Box.createHorizontalStrut(8));
                selectBox.add(data);
                selectBox.add(Box.createHorizontalStrut(10));
                selectBox.add(select);
                
          booksMainBox.add(selectBox);
          booksMainBox.add(Box.createVerticalStrut(8));
         
                           Box tableBox=Box.createVerticalBox();
                           tableBox.add(new JScrollPane(booksT) );
          booksMainBox.add(tableBox);

 
 Box vbox = Box.createVerticalBox();
 myContainer.add(vbox);

    jTabbedPane1.addTab("Книги", selectBox);
    jTabbedPane1.setMinimumSize(new Dimension(10, 10));
    jTabbedPane1.setPreferredSize(new Dimension(100, 100));

    vbox.add(jTabbedPane1);

    pack();
setLocationRelativeTo(null);  // Если это строки не будет, окно будет в левом верхнем углу
setVisible(true);

  
  }
  public JMenu Opt() {

  JMenu Opt=new JMenu("Настройки");
  JMenuItem OptionsM=new JMenuItem(new OptionsMenu("Установки"));
  Opt.add(OptionsM);
  return Opt;
  }


  public static void main(String[] args) {
    /*
     try{
 workClass.   opt=workClass.naborNassivaZnach("Options.kir",";");
   }
              catch (Exception ex) {
                  JOptionPane.showMessageDialog(null,
                          "Файл с настройками  не доступен\nОбратитесь к разрабодчику",
                                                "Зло!", JOptionPane.ERROR_MESSAGE);
              }



    try {
     // Регистрация драйвера MySQL
     Class.forName("com.mysql.jdbc.Driver").newInstance();
   }
   catch (Exception e) {
     e.printStackTrace(System.err);
   }
*/
  
  MainFame mainfame = new MainFame();
  }




  class OptionsMenu extends AbstractAction{
  Options optio;
    OptionsMenu(String str) {
      putValue(NAME, str);

    }
    public void actionPerformed(ActionEvent e) {
  try{optio.setVisible(true);}
     catch(Exception ex){
          optio=new Options();  }
    }
}
}


надеюсь нак более читабельно

а вот что хотелось бы сделать см фаил
но пока даже  панел с фкладкамми не показывается нормально

Присоединённый файл ( Кол-во скачиваний: 16 )
Присоединённый файл  __________.GIF 10,79 Kb
PM MAIL   Вверх
fixxer
Дата 23.11.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 672
Регистрация: 14.9.2006
Где: Саратов, Россия

Репутация: 15
Всего: 27



для начала замени FlowLayout на, хотя бы, BorderLayout


--------------------
user posted image
PM MAIL ICQ   Вверх
xber9
Дата 23.11.2007, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 245
Регистрация: 21.1.2007

Репутация: нет
Всего: нет



заменил
привело  не к чему
PM MAIL   Вверх
powerOn
Дата 23.11.2007, 15:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Накликал в NetBeans за 5 минут smile :

Код

public class NewJFrame extends javax.swing.JFrame
{
    /** Creates new form NewJFrame */
    public NewJFrame()
    {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();
        jButton6 = new javax.swing.JButton();
        jButton7 = new javax.swing.JButton();
        jButton8 = new javax.swing.JButton();
        jTabbedPane1 = new javax.swing.JTabbedPane();
        jPanel3 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jPanel6 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        jTextField1 = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        jTextField2 = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        jTextField3 = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jButton1.setText("jButton1");

        jButton2.setText("jButton2");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jButton1)
                    .addComponent(jButton2))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jButton1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton2)
                .addContainerGap(278, Short.MAX_VALUE))
        );

        getContentPane().add(jPanel1, java.awt.BorderLayout.LINE_END);

        jButton3.setText("jButton3");

        jButton4.setText("jButton4");

        jButton5.setText("jButton5");

        jButton6.setText("jButton6");

        jButton7.setText("jButton7");

        jButton8.setText("jButton8");

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addComponent(jButton4)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton6)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton8))
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addComponent(jButton3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton5)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton7)))
                .addContainerGap(252, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton3)
                    .addComponent(jButton5)
                    .addComponent(jButton7))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton4)
                    .addComponent(jButton6)
                    .addComponent(jButton8))
                .addContainerGap())
        );

        getContentPane().add(jPanel2, java.awt.BorderLayout.PAGE_END);

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        jLabel1.setText("jLabel1");
        jPanel6.add(jLabel1);

        jTextField1.setText("jTextField1");
        jPanel6.add(jTextField1);

        jLabel2.setText("jLabel2");
        jPanel6.add(jLabel2);

        jTextField2.setText("jTextField2");
        jPanel6.add(jTextField2);

        jLabel3.setText("jLabel3");
        jPanel6.add(jLabel3);

        jTextField3.setText("jTextField3");
        jPanel6.add(jTextField3);

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 381, Short.MAX_VALUE)
                    .addComponent(jPanel6, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 381, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel6, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 260, Short.MAX_VALUE)
                .addContainerGap())
        );

        jTabbedPane1.addTab("tab1", jPanel3);

        getContentPane().add(jTabbedPane1, java.awt.BorderLayout.CENTER);

        pack();
    }// </editor-fold>

    /**
     * @param args the command line arguments
     */
    public static void main(String args[])
    {
        java.awt.EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                new NewJFrame().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JButton jButton6;
    private javax.swing.JButton jButton7;
    private javax.swing.JButton jButton8;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel6;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField2;
    private javax.swing.JTextField jTextField3;
    // End of variables declaration
}


user posted image

Добавлено через 2 минуты и 7 секунд
Но не рекомендую smile


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.