2011-01-10 1 views
1

Если вы хотите, чтобы кто-то помог мне сделать мой интерфейс java с параметром прокрутки, чтобы я мог подниматься и опускаться по моему окну.Опции прокрутки Java Java

Мне нужен код, чтобы добавить в мой текущий код и конкретное место, где добавить

Вот код :(я не могу добавить панель прокрутки :(

package sms; 

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.sql.*; 
import javax.swing.table.*; 





public class SMS4 extends JFrame implements ActionListener { 


     JRadioButton entp = new JRadioButton("Enterprise"); 
    JRadioButton linux = new JRadioButton("Linux"); 
     JRadioButton tkodimi = new JRadioButton("TeoriKodimi"); 
     JRadioButton ings = new JRadioButton("InxhinieriSofti"); 
     JRadioButton cmp = new JRadioButton("Kompilator"); 

     JButton save= new JButton("Save"); 
     ButtonGroup btnG = new ButtonGroup(); 
     JPanel pane = new JPanel(); 
     JPanel pane1 = new JPanel(); 
     JPanel pane2 = new JPanel(); 

private DefaultTableModel students; 
private JTable table; 
private DefaultTableModel students1; 
private JTable table1; 
private DefaultTableModel students2; 
private JTable table2; 
private DefaultTableModel students3; 
private JTable table3; 
private DefaultTableModel students4; 
private JTable table4; 
    public SMS4() { 
    super("Lendet"); 
    btnG.add(entp); 
    btnG.add(linux); 
    btnG.add(tkodimi); 
    btnG.add(ings); 
    btnG.add(cmp); 

    pane.add(entp); 
    pane.add(linux); 
    pane.add(tkodimi); 
    pane.add(ings); 
    pane.add(cmp); 

    pane.setLayout(new GridLayout(3, 3)); 

     pane2.add(save, "Center"); 
     save.addActionListener(this); 

     entp.addActionListener(this); 
    linux.addActionListener(this); 
     tkodimi.addActionListener(this); 
     ings.addActionListener(this); 
     cmp.addActionListener(this); 

     pane.setBorder(BorderFactory.createTitledBorder(
      BorderFactory.createEtchedBorder(), "Zgjidh lenden:")); 
     pane1.setBorder(BorderFactory.createTitledBorder(
      BorderFactory.createEtchedBorder(), "Tabela e notave:")); 
     pane2.setBorder(BorderFactory.createTitledBorder(
      BorderFactory.createEtchedBorder(), "Ruaj:")); 

     // tabela e notave: 
//tab 1: 
    students = new DefaultTableModel(); 
    students.addColumn("Emrat"); 
    students.addColumn("Notat"); 


try{ 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
      Connection cn = DriverManager.getConnection("Jdbc:odbc:db"); 
         Statement st= cn.createStatement(); 

        ResultSet rs= st.executeQuery("SELECT Name, Nota FROM notat WHERE Emerlende='Arkitekture Aplikimi'"); 
             if(rs!=null){ 
             while(rs.next()){ 

                String[] student= new String[2]; 
         student[0]=rs.getString("Name"); 
                student[1]=rs.getString("Nota"); 


                 students.addRow(student); 
              } 
                } 
else System.out.println("Gabim."); 
table = new JTable(students); 

pane1.add(new JScrollPane(table),BorderLayout.CENTER); 
table.setVisible(false); 

} 
catch(ClassNotFoundException e) { 
      System.err.println(e.getMessage()); 

     }catch(SQLException e){ 
      System.err.println(e.getMessage()); 
      } 
     // end tabela 
    //tab 1: 
    students1 = new DefaultTableModel(); 
    students1.addColumn("Emrat"); 
    students1.addColumn("Notat"); 


try{ 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
      Connection cn1 = DriverManager.getConnection("Jdbc:odbc:db"); 
         Statement st1= cn1.createStatement(); 

        ResultSet rs1= st1.executeQuery("SELECT Name, Nota FROM notat WHERE Emerlende='Linux'"); 
             if(rs1!=null){ 
             while(rs1.next()){ 

                String[] student1= new String[2]; 
         student1[0]=rs1.getString("Name"); 
                student1[1]=rs1.getString("Nota"); 


                 students1.addRow(student1); 
              } 
                } 
else System.out.println("Gabim."); 
table1 = new JTable(students1); 

pane1.add(new JScrollPane(table1),BorderLayout.CENTER); 
table1.setVisible(false); 

} 
catch(ClassNotFoundException e) { 
      System.err.println(e.getMessage()); 

     }catch(SQLException e){ 
      System.err.println(e.getMessage()); 
      } 
     // end tab1 
     //tab 2: 
    students2 = new DefaultTableModel(); 
    students2.addColumn("Emrat"); 
    students2.addColumn("Notat"); 


try{ 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
      Connection cn = DriverManager.getConnection("Jdbc:odbc:db"); 
         Statement st= cn.createStatement(); 

        ResultSet rs= st.executeQuery("SELECT Name, Nota FROM notat WHERE Emerlende='Teori Kodimi'"); 
             if(rs!=null){ 
             while(rs.next()){ 

                String[] student2= new String[2]; 
         student2[0]=rs.getString("Name"); 
                student2[1]=rs.getString("Nota"); 


                 students2.addRow(student2); 
              } 
                } 
else System.out.println("Gabim."); 
table2 = new JTable(students2); 

pane1.add(new JScrollPane(table2),BorderLayout.CENTER); 
table2.setVisible(false); 

} 
catch(ClassNotFoundException e) { 
      System.err.println(e.getMessage()); 

     }catch(SQLException e){ 
      System.err.println(e.getMessage()); 
      } 
     // end tab2 
      //tab 3: 
    students3 = new DefaultTableModel(); 
    students3.addColumn("Emrat"); 
    students3.addColumn("Notat"); 


try{ 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
      Connection cn = DriverManager.getConnection("Jdbc:odbc:db"); 
         Statement st= cn.createStatement(); 

        ResultSet rs= st.executeQuery("SELECT Name, Nota FROM notat WHERE Emerlende='Inxhinieri Softi'"); 
             if(rs!=null){ 
             while(rs.next()){ 

                String[] student3= new String[2]; 
         student3[0]=rs.getString("Name"); 
                student3[1]=rs.getString("Nota"); 


                 students3.addRow(student3); 
              } 
                } 
else System.out.println("Gabim."); 
table3 = new JTable(students3); 

pane1.add(new JScrollPane(table3),BorderLayout.CENTER); 
table3.setVisible(false); 

} 
catch(ClassNotFoundException e) { 
      System.err.println(e.getMessage()); 

     }catch(SQLException e){ 
      System.err.println(e.getMessage()); 
      } 
     // end tab3 
      //tab 4: 
    students4 = new DefaultTableModel(); 
    students4.addColumn("Emrat"); 
    students4.addColumn("Notat"); 


try{ 
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
      Connection cn = DriverManager.getConnection("Jdbc:odbc:db"); 
         Statement st= cn.createStatement(); 

        ResultSet rs= st.executeQuery("SELECT Name, Nota FROM notat WHERE Emerlende='Kompilatore'"); 
             if(rs!=null){ 
             while(rs.next()){ 

                String[] student4= new String[2]; 
         student4[0]=rs.getString("Name"); 
                student4[1]=rs.getString("Nota"); 


                 students4.addRow(student4); 
              } 
                } 
else System.out.println("Gabim."); 
table4 = new JTable(students4); 

pane1.add(new JScrollPane(table4),BorderLayout.CENTER); 
table4.setVisible(false); 

} 
catch(ClassNotFoundException e) { 
      System.err.println(e.getMessage()); 

     }catch(SQLException e){ 
      System.err.println(e.getMessage()); 
      } 
     // end tab4 
    Container paneg= getContentPane(); 
     paneg.add(pane, "North"); 
     paneg.add(pane1, "Center"); 
     paneg.add(pane2, "South"); 

} 


public void actionPerformed(ActionEvent e){ 

      Object source = e.getSource(); 
      if(entp.isSelected()){ 
          students = new DefaultTableModel(); 
       table.setVisible(true); 

      } 

else if (linux.isSelected()) { 
         students1 = new DefaultTableModel(); 
       table1.setVisible(true); 

      } 
else if (tkodimi.isSelected()) { 
         students2 = new DefaultTableModel(); 
       table2.setVisible(true); 

      } 
else if (ings.isSelected()) 
         { 
         students3 = new DefaultTableModel(); 
        table3.setVisible(true); 

      } 
else if (cmp.isSelected()) { 
         students4 = new DefaultTableModel(); 
       table4.setVisible(true); 

      } 
    } 


    public void frame(){ 
    SMS4 s4 = new SMS4(); 
    s4.setSize(700,700); 
    s4.setVisible(true); 
    s4.setResizable(false); 
    s4.setLocation(320,400); 
    } 
} 

ответ

2

JScrollPane класса является то, что вы ищете. в JavaDocs сказать вам все, что нужно знать, и даже ссылки на простой в использовании учебник.

1

Поместите компонент внутри JScrollPane.

Независимо деталь вы хотите прокрутки, быть в JPanel или JTextArea, вы должны добавить его в JScrollPane, а затем добавить JScrollPane к панели или другой контейнер.

Так найти везде, где вы делаете это:

 
container.add(item); 

Вместо этого, сделайте следующее:

 
JScrollPane pane = new JScrollPane(item); 
container.add(pane); 
+0

Спасибо, я думаю, что это лучший ответ;) Я не могу пометить его как хороший Ответ :( – Erma

+0

Привет, снова Эрик :(Я поставил код в свои вопросы ,,, Можете ли вы сказать мне, что поставить и где угодно? :( – Erma

+0

Ну, это в значительной степени беспорядок. Мне тяжело даже после этого Отступы нигде не близки друг к другу. У вас также есть много и много панелей, которые, кажется, путают вещи. Попробуйте упростить все, просто добавив одну таблицу со списком. Затем, как только вы увидите, что у вас это получилось, вы можете вернуться к более сложным сценариям. Это позволит убедиться, что проблема действительно связана с scrollpane, а не с одной из других панелей или компонентов. –