greg505 Opublikowano 16 Czerwca 2006 Zgłoś Opublikowano 16 Czerwca 2006 (edytowane) pisze program do mnozenia macierzy. sa 3 okienka jTextArea (1-pierwsza macierz, 2-druga, 3 - wynik) macierze wczytuje z 2 plikow. wszystko pieknie dziala, ale chce zrobic aby te macierze wpisywaly sie w jTable... chce zrobic do tego ProgressBar'a i tez nie wiem jak go powiazac prosze o pomoc :) pisze w Eclipsie tu czesc kodu z jednym jTextArea i otworz » Naciśnij, żeby pokazać/ukryć tekst oznaczony jako spoiler... « import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.StringTokenizer;import javax.swing.JPanel;import javax.swing.JFrame;import javax.swing.JButton;import javax.swing.JFileChooser;import javax.swing.JScrollPane;import javax.swing.JTextArea;public class ramka extends JFrame { private JPanel jContentPane = null; private JButton jButton1 = null; private JScrollPane jScrollPane = null; private JTextArea jTextArea3 = null; double tab1[][]; double tab2[][]; /** * This method initializes jButton1 * * @return javax.swing.JButton */ private JButton getJButton1() { if (jButton1 == null) { jButton1 = new JButton(); jButton1.setBounds(new java.awt.Rectangle(30, 27, 78, 17)); jButton1.setText("Otworz"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { int lw1 = 0; int lk1 = 0; JFileChooser jf = new JFileChooser(); if (jf.showOpenDialog(ramka.this) != jf.APPROVE_OPTION) { return; } else { try { File file = jf.getSelectedFile(); FileReader fr; fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); String wyn = new String(""); String s = null; lw1 = 0; while ((s = br.readLine()) != null) { wyn += s + "\n"; lw1++; } System.out.println(lw1); jTextArea3.setText(wyn); br.close(); fr.close(); } catch (FileNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } File file_1 = jf.getSelectedFile(); FileReader fr; try { fr = new FileReader(file_1); BufferedReader br = new BufferedReader(fr); String s = br.readLine(); StringTokenizer st = new StringTokenizer(s); lk1 = 0; try { while (st.nextToken() != null) { lk1++; } } catch (Exception ee) { ; } System.out.println("liczba kolumn: " + lk1); br.close(); fr.close(); } catch (IOException eee) { eee.printStackTrace(); } tab1 = funkcja(file_1, lw1, lk1); for (int i = 0; i < tab1.length; i++) { for (int j = 0; j < tab1[0].length; j++) { System.out.print(tab1[i][j] + "\t"); } System.out.println(); } } }); } return jButton1; } double[][] funkcja(File file, int lw, int lk) { double[][] wynik = new double[lw][lk]; try { FileReader fr = new FileReader(file); BufferedReader br = new BufferedReader(fr); for (int i = 0; i < lw; i++) { String linia = br.readLine(); StringTokenizer st = new StringTokenizer(linia); for (int j = 0; j < lk; j++) { String s = st.nextToken(); System.out.print("element [" + i + "][" + j + "]=" + s + "\t"); wynik[i][j] = Double.parseDouble(s); } System.out.println(); } br.close(); fr.close(); } catch (IOException e) { e.printStackTrace(); } return wynik; } /** * This method initializes jScrollPane * * @return javax.swing.JScrollPane */ private JScrollPane getJScrollPane() { if (jScrollPane == null) { jScrollPane = new JScrollPane(); jScrollPane.setBounds(new java.awt.Rectangle(26, 97, 103, 109)); jScrollPane.setViewportView(getJTextArea3()); } return jScrollPane; } /** * This method initializes jTextArea * * @return javax.swing.JTextArea */ private JTextArea getJTextArea3() { if (jTextArea3 == null) { jTextArea3 = new JTextArea(); } return jTextArea3; } /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub ramka r = new ramka(); r.setLocation(50, 50); r.setVisible(true); } /** * This is the default constructor */ public ramka() { super(); initialize(); } /** * This method initializes this * * @return void */ private void initialize() { this.setSize(316, 294); this.setTitle("JFrame"); this.setContentPane(getJContentPane()); } /** * This method initializes jContentPane * * @return javax.swing.JPanel */ private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(null); jContentPane.setBackground(new java.awt.Color(196, 210, 135)); jContentPane.add(getJButton1(), null); jContentPane.add(getJScrollPane(), null); } return jContentPane; }} // @jve:decl-index=0:visual-constraint="10,10" Edytowane 16 Czerwca 2006 przez greg505 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 17 Czerwca 2006 Zgłoś Opublikowano 17 Czerwca 2006 a w javadoc nie ma nic na temat progress barów? :wink: Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 17 Czerwca 2006 Zgłoś Opublikowano 17 Czerwca 2006 pewnie jest ;) ale na razie skupiam sie na umieszczeniu macierzy w tabelce Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 20 Czerwca 2006 Zgłoś Opublikowano 20 Czerwca 2006 Naprawde nikt?! ;( Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
quuba-kr Opublikowano 21 Czerwca 2006 Zgłoś Opublikowano 21 Czerwca 2006 Naprawde nikt?! ;(Spróbuj poszukać np. Thinking in Java, 3rd Edition Bruce Eckel (w rozdziale 14 JTableDemo.java). Ta pozycja plus wiele innych np. Thinking in Patterns do ściągnięcia z http://www.mindviewinc.com/. Może nikt Tobie nie odpowiada, bo uważa, że liczba 780000 - tyle Google znalazły pozycji JTable w WWW jest ogromna. To tak jakby być w lesie i nie widzieć drzew. W/g mnie trzeba wskazać pewne rozwiązania, dla fachowców oczywiste, sami przecież na swojej drodze nieraz utknęli. Interesująca jest klasa wewnętrzna DataModel, która rozszerza klasę AbstractTableModel, a w niej kolejna TML. Możesz ją przenieść w całości do swojej klasy. Pozostałe elementy dopasujesz - zmieniając nazwę dla Object[][] data , albo tworząc nowy konstruktor new DataModel(Object[][] data ). Spróbuj zmienić menedżera układu (Layout) z null na jakiś ciekawszy. Na koniec zastosuj do JFrame setDefaultCloseOperation(3), gdyż przez domniemanie okno po naciśnięciu na belce krzyżyka tylko przestaje być widoczne - powinno być zamykane. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 21 Czerwca 2006 Zgłoś Opublikowano 21 Czerwca 2006 tu masz stronkę z której intensywnie korzystałem jak miałem laborki z javuni... http://www.java2s.com/ExampleCode/CatalogExampleCode.htm Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
greg505 Opublikowano 25 Czerwca 2006 Zgłoś Opublikowano 25 Czerwca 2006 wszystko dziala ;) projekt zaliczony ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...