Laurent Quenon

Greenhorn
+ Follow
since Dec 09, 2003
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Laurent Quenon

Addition to my previous post here is a bit more on the problem I have...
So, even if the vector is filled in correctly the method getvalueat is never executed... Why?
This has the consequence that my table is always empty.

Greetings.
19 years ago
Hello all,

I have a jtable using a tablemodel, but when I change the data in my vector the changes are not shown in my GUI, even if after the changes in the vector I use firetabledatachanged.

I have several question :

1) do I need to add a listener somewher for that event?
2) If the event is really executed the getvalueat method should be executed too right?
3) if the changes of the data is done in the table model itself should I use this in front of the firetabledatachanged?

Thanks a lot for your help.
19 years ago
Hi all,

I have a stupid problem with my TableModel, I'm sure it's stupid but it becomes really annoying because I don't see what is the problem .

I'm trying to create a kind of DatePicker for this I'm using a combo box where you can select the month (year is always 2005, it's just a draft version) The days of the selected month are then displayed in a tanle using a table model.

Here is the form class

/*
* frmCalendar.java
*
* Created on 15 f�vrier 2005, 22:00
*/

package com.shsolutions.utils;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.text.*;
import java.util.GregorianCalendar;
import java.util.Date;
import java.util.Arrays;

/**
*
* @author Laurent
*/
public class frmCalendar extends JFrame {
private JComboBox months;
private JLabel etiquette;
private JTable monthDays;
private JScrollPane jsp;
private String strMonth[];
private String strDays[];
private GregorianCalendar calendar = new GregorianCalendar();
private Object [][] objWeeks;
private Container conteneur;
private CalendarModel calContent;

/** Creates a new instance of frmCalendar */
public frmCalendar() {
super ("Test de calendrier");
conteneur = getContentPane();
conteneur.setLayout(new FlowLayout());
strMonth = new DateFormatSymbols().getMonths();
strDays = new DateFormatSymbols().getShortWeekdays();
calContent = new CalendarModel(calendar.MONTH,calendar.YEAR);
months = new JComboBox(strMonth);
months.setMaximumRowCount(6);

months.addItemListener(new ItemListener(){
public void itemStateChanged(ItemEvent evenement){
if (evenement.getStateChange()== ItemEvent.SELECTED)
{

calContent.setMonthCalendar(months.getSelectedIndex(),2005);
}
}
});
conteneur.add(months);


monthDays = new JTable(calContent);
JScrollPane jsp = new JScrollPane(monthDays);
conteneur.add(jsp);

setSize(350, 140);
setVisible(true);

}

public static void main(String args[]){
frmCalendar application = new frmCalendar();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

Now the AbstractTableModel class

/*
* @(#)AbstractTableModel.java1.39 03/01/23
*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/

package javax.swing.table;

import javax.swing.*;
import javax.swing.event.*;
import java.io.Serializable;
import java.util.EventListener;

/**
* This abstract class provides default implementations for most of
* the methods in the <code>TableModel</code> interface. It takes care of
* the management of listeners and provides some conveniences for generating
* <code>TableModelEvents</code> and dispatching them to the listeners.
* To create a concrete <code>TableModel</code> as a subclass of
* <code>AbstractTableModel</code> you need only provide implementations
* for the following three methods:
*
* <pre>
* public int getRowCount();
* public int getColumnCount();
* public Object getValueAt(int row, int column);
* </pre>
* <p>
* <strong>Warning:</strong>
* Serialized objects of this class will not be compatible with
* future Swing releases. The current serialization support is
* appropriate for short term storage or RMI between applications running
* the same version of Swing. As of 1.4, support for long term storage
* of all JavaBeans<sup><font size="-2">TM</font></sup>
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*
* @version 1.39 01/23/03
* @author Alan Chung
* @author Philip Milne
*/
public abstract class AbstractTableModel implements TableModel, Serializable
{
//
// Instance Variables
//

/** List of listeners */
protected EventListenerList listenerList = new EventListenerList();

//
// Default Implementation of the Interface
//

/**
* Returns a default name for the column using spreadsheet conventions:
* A, B, C, ... Z, AA, AB, etc. If <code>column</code> cannot be found,
* returns an empty string.
*
* @param column the column being queried
* @return a string containing the default name of <code>column</code>
*/
public String getColumnName(int column) {
String result = "";
for (; column >= 0; column = column / 26 - 1) {
result = (char)((char)(column%26)+'A') + result;
}
return result;
}

/**
* Returns a column given its name.
* Implementation is naive so this should be overridden if
* this method is to be called often. This method is not
* in the <code>TableModel</code> interface and is not used by the
* <code>JTable</code>.
*
* @param columnName string containing name of column to be located
* @return the column with <code>columnName</code>, or -1 if not found
*/
public int findColumn(String columnName) {
for (int i = 0; i < getColumnCount(); i++) {
if (columnName.equals(getColumnName(i))) {
return i;
}
}
return -1;
}

/**
* Returns <code>Object.class</code> regardless of <code>columnIndex</code>.
*
* @param columnIndex the column being queried
* @return the Object.class
*/
public Class getColumnClass(int columnIndex) {
return Object.class;
}

/**
* Returns false. This is the default implementation for all cells.
*
* @param rowIndex the row being queried
* @param columnIndex the column being queried
* @return false
*/
public boolean isCellEditable(int rowIndex, int columnIndex) {
return false;
}

/**
* This empty implementation is provided so users don't have to implement
* this method if their data model is not editable.
*
* @param aValue value to assign to cell
* @param rowIndex row of cell
* @param columnIndex column of cell
*/
public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
}


//
// Managing Listeners
//

/**
* Adds a listener to the list that's notified each time a change
* to the data model occurs.
*
* @paramlthe TableModelListener
*/
public void addTableModelListener(TableModelListener l) {
listenerList.add(TableModelListener.class, l);
}

/**
* Removes a listener from the list that's notified each time a
* change to the data model occurs.
*
* @paramlthe TableModelListener
*/
public void removeTableModelListener(TableModelListener l) {
listenerList.remove(TableModelListener.class, l);
}

/**
* Returns an array of all the table model listeners
* registered on this model.
*
* @return all of this model's <code>TableModelListener</code>s
* or an empty
* array if no table model listeners are currently registered
*
* @see #addTableModelListener
* @see #removeTableModelListener
*
* @since 1.4
*/
public TableModelListener[] getTableModelListeners() {
return (TableModelListener[])listenerList.getListeners(
TableModelListener.class);
}

//
// Fire methods
//

/**
* Notifies all listeners that all cell values in the table's
* rows may have changed. The number of rows may also have changed
* and the <code>JTable</code> should redraw the
* table from scratch. The structure of the table (as in the order of the
* columns) is assumed to be the same.
*
* @see TableModelEvent
* @see EventListenerList
* @see javax.swing.JTable#tableChanged(TableModelEvent)
*/
public void fireTableDataChanged() {
fireTableChanged(new TableModelEvent(this));
}

/**
* Notifies all listeners that the table's structure has changed.
* The number of columns in the table, and the names and types of
* the new columns may be different from the previous state.
* If the <code>JTable</code> receives this event and its
* <code>autoCreateColumnsFromModel</code>
* flag is set it discards any table columns that it had and reallocates
* default columns in the order they appear in the model. This is the
* same as calling <code>setModel(TableModel)</code> on the
* <code>JTable</code>.
*
* @see TableModelEvent
* @see EventListenerList
*/
public void fireTableStructureChanged() {
fireTableChanged(new TableModelEvent(this, TableModelEvent.HEADER_ROW));
}

/**
* Notifies all listeners that rows in the range
* <code>[firstRow, lastRow]</code>, inclusive, have been inserted.
*
* @param firstRow the first row
* @param lastRow the last row
*
* @see TableModelEvent
* @see EventListenerList
*
*/
public void fireTableRowsInserted(int firstRow, int lastRow) {
fireTableChanged(new TableModelEvent(this, firstRow, lastRow,
TableModelEvent.ALL_COLUMNS, TableModelEvent.INSERT));
}

/**
* Notifies all listeners that rows in the range
* <code>[firstRow, lastRow]</code>, inclusive, have been updated.
*
* @param firstRow the first row
* @param lastRow the last row
*
* @see TableModelEvent
* @see EventListenerList
*/
public void fireTableRowsUpdated(int firstRow, int lastRow) {
fireTableChanged(new TableModelEvent(this, firstRow, lastRow,
TableModelEvent.ALL_COLUMNS, TableModelEvent.UPDATE));
}

/**
* Notifies all listeners that rows in the range
* <code>[firstRow, lastRow]</code>, inclusive, have been deleted.
*
* @param firstRow the first row
* @param lastRow the last row
*
* @see TableModelEvent
* @see EventListenerList
*/
public void fireTableRowsDeleted(int firstRow, int lastRow) {
fireTableChanged(new TableModelEvent(this, firstRow, lastRow,
TableModelEvent.ALL_COLUMNS, TableModelEvent.DELETE));
}

/**
* Notifies all listeners that the value of the cell at
* <code>[row, column]</code> has been updated.
*
* @param row row of cell which has been updated
* @param column column of cell which has been updated
* @see TableModelEvent
* @see EventListenerList
*/
public void fireTableCellUpdated(int row, int column) {
fireTableChanged(new TableModelEvent(this, row, row, column));
}

/**
* Forwards the given notification event to all
* <code>TableModelListeners</code> that registered
* themselves as listeners for this table model.
*
* @param e the event to be forwarded
*
* @see #addTableModelListener
* @see TableModelEvent
* @see EventListenerList
*/
public void fireTableChanged(TableModelEvent e) {
// Guaranteed to return a non-null array
Object[] listeners = listenerList.getListenerList();
// Process the listeners last to first, notifying
// those that are interested in this event
for (int i = listeners.length-2; i>=0; i-=2) {
if (listeners[i]==TableModelListener.class) {
((TableModelListener)listeners[i+1]).tableChanged(e);
}
}
}

/**
* Returns an array of all the objects currently registered
* as <code><em>Foo</em>Listener</code>s
* upon this <code>AbstractTableModel</code>.
* <code><em>Foo</em>Listener</code>s are registered using the
* <code>add<em>Foo</em>Listener</code> method.
*
* <p>
*
* You can specify the <code>listenerType</code> argument
* with a class literal,
* such as
* <code><em>Foo</em>Listener.class</code>.
* For example, you can query a
* model <code>m</code>
* for its table model listeners with the following code:
*
* <pre>TableModelListener[] tmls = (TableModelListener[])(m.getListeners(TableModelListener.class));</pre>
*
* If no such listeners exist, this method returns an empty array.
*
* @param listenerType the type of listeners requested; this parameter
* should specify an interface that descends from
* <code>java.util.EventListener</code>
* @return an array of all objects registered as
* <code><em>Foo</em>Listener</code>s on this component,
* or an empty array if no such
* listeners have been added
* @exception ClassCastException if <code>listenerType</code>
* doesn't specify a class or interface that implements
* <code>java.util.EventListener</code>
*
* @see #getTableModelListeners
*
* @since 1.3
*/
public EventListener[] getListeners(Class listenerType) {
return listenerList.getListeners(listenerType);
}
} // End of class AbstractTableModel


And finally the CalendarModel class extending the AbstractTableModel

/*
* CalendarModel.java
*
* Created on 8 mars 2005, 17:41
*/

package com.shsolutions.utils;

import javax.swing.table.*;
import java.text.*;
import java.util.GregorianCalendar;
/**
*
* @author Laurent
*/
public class CalendarModel extends AbstractTableModel{

private String strDays[] = new String[7];
private GregorianCalendar calendar = new GregorianCalendar();
private Object data [][]= new Object [6][7];

/** Creates a new instance of CalendarModel */
public CalendarModel(int nMonth,int nYear){
String strTemp[];
int monthLength;
monthLength = daysInMonth(nMonth, nYear);
numDaysInWeek(nMonth, nYear, monthLength);
int i = 0;
strTemp = new DateFormatSymbols().getShortWeekdays();
for(;i<strTemp.length;i++)
{
if (i>0) strDays [i-1] = new String(strTemp[i]);
}


}


public int getRowCount () {
return 6;
}

public int getColumnCount () {
return 7;
}

public Object getValueAt(int r, int c){
return data[r][c];

}

public String getColumnName(int c){
return strDays[c];
}

public void setMonthCalendar (int nMonth, int nYear) {
int monthLength;
monthLength = daysInMonth(nMonth, nYear);
numDaysInWeek(nMonth, nYear, monthLength);
}

private int daysInMonth(int nMonth, int nYear) {
switch (nMonth)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return (31);
case 4:
case 6:
case 9:
case 11:
return (30);
default:
if (calendar.isLeapYear(nYear))
return (29);
else
return (28);


}
}

private void numDaysInWeek (int nMonth, int nYear, int nMonthLength) {
String [] astrWeek1 = new String[7];
String [] astrWeek2 = new String[7];
String [] astrWeek3 = new String[7];
String [] astrWeek4 = new String[7];
String [] astrWeek5 = new String[7];
String [] astrWeek6 = new String[7];
int firstDayOfNextWeek = 0;
int i;
calendar.set(nYear,nMonth,1);
int firstDayOfMonth = calendar.get(calendar.DAY_OF_WEEK);


switch (firstDayOfMonth){
case 1:
{
astrWeek1[0]="1";
astrWeek1[1]="2";
astrWeek1[2]="3";
astrWeek1[3]="4";
astrWeek1[4]="5";
astrWeek1[5]="6";
astrWeek1[6]="7";
firstDayOfNextWeek = 8;
break;
}
case 2:
{
astrWeek1[0]="";
astrWeek1[1]="1";
astrWeek1[2]="2";
astrWeek1[3]="3";
astrWeek1[4]="4";
astrWeek1[5]="5";
astrWeek1[6]="6";
firstDayOfNextWeek = 7;
break;
}
case 3:
{
astrWeek1[0]="";
astrWeek1[1]="";
astrWeek1[2]="1";
astrWeek1[3]="2";
astrWeek1[4]="3";
astrWeek1[5]="4";
astrWeek1[6]="5";
firstDayOfNextWeek = 6;
break;
}
case 4:
{
astrWeek1[0]="";
astrWeek1[1]="";
astrWeek1[2]="";
astrWeek1[3]="1";
astrWeek1[4]="2";
astrWeek1[5]="3";
astrWeek1[6]="4";
firstDayOfNextWeek = 5;
break;
}
case 5:
{
astrWeek1[0]="";
astrWeek1[1]="";
astrWeek1[2]="";
astrWeek1[3]="";
astrWeek1[4]="1";
astrWeek1[5]="2";
astrWeek1[6]="3";
firstDayOfNextWeek = 4;
break;
}
case 6:
{
astrWeek1[0]="";
astrWeek1[1]="";
astrWeek1[2]="";
astrWeek1[3]="";
astrWeek1[4]="";
astrWeek1[5]="1";
astrWeek1[6]="2";
firstDayOfNextWeek = 3;
break;
}
case 7:
{
astrWeek1[0]="";
astrWeek1[1]="";
astrWeek1[2]="";
astrWeek1[3]="";
astrWeek1[4]="";
astrWeek1[5]="";
astrWeek1[6]="1";
firstDayOfNextWeek = 2;
break;
}

}

int j = 0;
for (i = firstDayOfNextWeek;i<(firstDayOfNextWeek+7);i++)
{
astrWeek2[j]= Integer.toString(i);
j = j+1;
}

firstDayOfNextWeek = firstDayOfNextWeek + 7;
j=0;
for (i = firstDayOfNextWeek;i<(firstDayOfNextWeek+7);i++)
{

astrWeek3[j]= Integer.toString(i);
j=j+1;
}

firstDayOfNextWeek = firstDayOfNextWeek + 7;
j=0;
for (i = firstDayOfNextWeek;i<(firstDayOfNextWeek+7);i++)
{

astrWeek4[j]= Integer.toString(i);
j=j+1;
}

firstDayOfNextWeek = firstDayOfNextWeek + 7;
j=0;
for (i = firstDayOfNextWeek;i<(firstDayOfNextWeek+7);i++)
{
if (i<= nMonthLength)
{
astrWeek5[j]= Integer.toString(i);
j=j+1;
}
else
{
astrWeek5[j]= "";
j=j+1;

}
}

firstDayOfNextWeek = firstDayOfNextWeek +7;
j=0;
for (i = firstDayOfNextWeek;i<(firstDayOfNextWeek+7);i++)
{
if (i<= nMonthLength)
{
astrWeek6[j]= Integer.toString(i);
j=j+1;
}
else
{
astrWeek6[j]= "";
j=j+1;
}
}

Object [][] data = {astrWeek1,astrWeek2,astrWeek3,astrWeek4,astrWeek5,astrWeek6};
fireTableDataChanged();

}

}

Could someone tell me why the table stays empty when I run the application even if I test that the data vector is filled in correctly and the application runs without any error?

Thanks in advance for your precious help.
Greetings.

Laurent.
19 years ago
Hello all,
I created a table with a jtable component, this table is inside a non scrollable panel. (Fixed size table)
So, I found on the net that to display the header, I have to use the Jtableheader class and display the header myself. It's what I did and it works. But now I just would like to change the values that are in the header by default (A,B,C) and put names like (Licence number, name ,...).
I know that it should be stupid but I can't figure out how to proceed to do this basic stuff.
Here is the complete code of my form, the part I am talking about is between // HERE IS THE PIECE OF CODE and //TILL HERE.
package presentation;
import java.awt.BorderLayout;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.JTableHeader;
public class Teamedit extends javax.swing.JPanel {
JTable tblOfficielsLeft;
JTextField txtTeamLeft;
JLabel labTeamedtTitle;
JComboBox combTeamleft;
JTable tblLiberoLeft;
JTable tblPlayersLeft;
JPanel panTeamLeft;
JTable tblLiberoRight;
JTable tblPlayersRight;
JTable tblOfficielsRight;
JPanel panTeamRight;
JPanel panPlayersLeft;
JComboBox combTeamRight;
JTextField txtTeamRight;
JTableHeader thPlayersleft;
public Teamedit() {
initGUI();
}
/**
* Initializes the GUI.
* Auto-generated code - any changes you make will disappear.
*/
public void initGUI() {
try {
preInitGUI();
txtTeamRight = new JTextField();
combTeamRight = new JComboBox();
panTeamRight = new JPanel();
tblOfficielsRight = new JTable(4,2);
tblPlayersRight = new JTable(12,3);
tblLiberoRight = new JTable(1,3);
panTeamLeft = new JPanel();
panPlayersLeft = new JPanel();
tblPlayersLeft = new JTable(12,3);
tblLiberoLeft = new JTable(1,3);
tblOfficielsLeft = new JTable(4,2);
combTeamleft = new JComboBox();
labTeamedtTitle = new JLabel();
txtTeamLeft = new JTextField();
thPlayersleft = tblPlayersLeft.getTableHeader();
this.setLayout(null);
this.setFont(new java.awt.Font("", 0, 8));
this.setPreferredSize(new java.awt.Dimension(476, 402));
txtTeamRight.setVisible(true);
txtTeamRight.setPreferredSize(new java.awt.Dimension(129, 30));
txtTeamRight.setBounds(new java.awt.Rectangle(291, 5, 129, 30));
this.add(txtTeamRight);
combTeamRight.setVisible(true);
combTeamRight.setPreferredSize(new java.awt.Dimension(38, 30));
combTeamRight.setBounds(new java.awt.Rectangle(432, 5, 38, 30));
this.add(combTeamRight);
panTeamRight.setLayout(null);
panTeamRight.setVisible(true);
panTeamRight.setPreferredSize(new java.awt.Dimension(232, 356));
panTeamRight.setBorder(
new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
panTeamRight.setBounds(new java.awt.Rectangle(240, 42, 232, 356));
this.add(panTeamRight);
tblOfficielsRight.setLayout(null);
tblOfficielsRight.setVisible(true);
tblOfficielsRight.setPreferredSize(new java.awt.Dimension(215, 48));
tblOfficielsRight.setBounds(
new java.awt.Rectangle(6, 299, 215, 48));
panTeamRight.add(tblOfficielsRight);
tblPlayersRight.setLayout(null);
tblPlayersRight.setVisible(true);
tblPlayersRight.setPreferredSize(new java.awt.Dimension(215, 192));
tblPlayersRight.setBounds(new java.awt.Rectangle(6, 16, 215, 192));
panTeamRight.add(tblPlayersRight);
tblLiberoRight.setLayout(null);
tblLiberoRight.setVisible(true);
tblLiberoRight.setPreferredSize(new java.awt.Dimension(215, 15));
tblLiberoRight.setBounds(new java.awt.Rectangle(6, 266, 215, 15));
panTeamRight.add(tblLiberoRight);
panTeamLeft.setLayout(null);
panTeamLeft.setVisible(true);
panTeamLeft.setPreferredSize(new java.awt.Dimension(229, 356));
panTeamLeft.setBorder(
new LineBorder(new java.awt.Color(0, 0, 0), 1, false));
panTeamLeft.setBounds(new java.awt.Rectangle(6, 42, 229, 356));
this.add(panTeamLeft);
tblPlayersLeft.setLayout(null);
tblPlayersLeft.setEditingColumn(3);
tblPlayersLeft.setEditingRow(12);
tblPlayersLeft.setVisible(true);
tblPlayersLeft.setPreferredSize(new java.awt.Dimension(215, 192));
tblPlayersLeft.setBounds(new java.awt.Rectangle(3, 3, 215, 192));
//tblPlayersLeft.setTableHeader();
// HERE IS THE PIECE OF CODE
panPlayersLeft.setLayout(new BorderLayout());
panPlayersLeft.setVisible(true);
panPlayersLeft.setPreferredSize(new java.awt.Dimension(220, 208));
panPlayersLeft.setBorder(
new LineBorder(new java.awt.Color(0, 0, 0), 0, false));
panPlayersLeft.setBounds(new java.awt.Rectangle(6, 16, 220, 208));
panTeamLeft.add(panPlayersLeft);
panPlayersLeft.add(thPlayersleft,BorderLayout.NORTH);
panPlayersLeft.add(tblPlayersLeft, BorderLayout.CENTER);
//TILL HERE
tblLiberoLeft.setLayout(null);
tblLiberoLeft.setVisible(true);
tblLiberoLeft.setPreferredSize(new java.awt.Dimension(215, 15));
tblLiberoLeft.setBounds(new java.awt.Rectangle(6, 266, 215, 15));
panTeamLeft.add(tblLiberoLeft);
tblOfficielsLeft.setLayout(null);
tblOfficielsLeft.setVisible(true);
tblOfficielsLeft.setPreferredSize(new java.awt.Dimension(215, 48));
tblOfficielsLeft.setBounds(
new java.awt.Rectangle(6, 299, 215, 48));
panTeamLeft.add(tblOfficielsLeft);
combTeamleft.setVisible(true);
combTeamleft.setPreferredSize(new java.awt.Dimension(38, 30));
combTeamleft.setBounds(new java.awt.Rectangle(5, 5, 38, 30));
this.add(combTeamleft);
labTeamedtTitle.setLayout(null);
labTeamedtTitle.setText("Noms des Equipes");
labTeamedtTitle.setHorizontalAlignment(0);
labTeamedtTitle.setHorizontalTextPosition(0);
labTeamedtTitle.setVisible(true);
labTeamedtTitle.setFont(new java.awt.Font("", 0, 9));
labTeamedtTitle.setPreferredSize(new java.awt.Dimension(88, 30));
labTeamedtTitle.setBorder(
new BevelBorder(1, null, null, null, null));
labTeamedtTitle.setBounds(new java.awt.Rectangle(195, 4, 88, 30));
this.add(labTeamedtTitle);
txtTeamLeft.setVisible(true);
txtTeamLeft.setPreferredSize(new java.awt.Dimension(129, 30));
txtTeamLeft.setBounds(new java.awt.Rectangle(55, 5, 129, 30));
this.add(txtTeamLeft);
postInitGUI();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Add your pre-init code in here
*/
public void preInitGUI() {
}
/**
* Add your post-init code in here
*/
public void postInitGUI() {
}
/** Auto-generated main method */
public static void main(String[] args) {
showGUI();
}
/**
* Auto-generated code - any changes you make will disappear!!!
* This static method creates a new instance of this class and shows
* it inside a new JFrame, (unless it is already a JFrame).
*/
public static void showGUI() {
try {
JFrame frame = new JFrame();
Teamedit inst = new Teamedit();
frame.setContentPane(inst);
frame.pack();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Thanks a lot for your help.
20 years ago
Don't worry I think it's just a bug in Eclipse...
I didn't change anything I just closed and restart Eclipse (not even save, it was already saved before) and now it works perfectly.
Sorry to bother you,
But thanks again.
Merry Christmas and Happy New Year.
20 years ago
Hello all,
I'm sure what I'm asking is realy stupid but it's already a long time I'm looking for a solution without any success, so I hope that somebody will be able to point out my mistake.
I have the following code:
public Map queryDB (String args[], int swKey)
{
String querystring;
switch(swKey)
{
case 1:
querystring = "SELECT * FROM Player";
break;
}
When I try to add an instruction after this switch it looks that everything is unresolvable. Indeed I don't have the automatic completion anymore and if I try to use query string it says that it cannot be resolved.
Thanks a lot for your help.
And sorry again if it's just too obvious for most of the people here.
Merry Christmas and Happy New Year.
20 years ago
Never mind...
I just wanted to reize my array, but I did not understood correctly first that a multidimensional array is an array of array...
So to resize a multidimensional array I just have to use the same code as I mentionned before but for only the first dimension(row) of my array(as in this case I know that second dimension(column)will contain always two column).
Sorry fo rthe silly question...
20 years ago
This is the code I'm using for a one dimension array:
if (nDates >= dates.length)
{
Calendar tmp[] = new Calendar[dates.length + 10];
System.arraycopy(dates, 0, tmp, 0, dates.length);
dates = tmp; // copies the array reference
}
How can I transpose this to a multidimensional array like :
String fieldvaluearray [][] = new String [MAX][MAX]
Thanks a lot for your help...
Greetings.
20 years ago
Thanks a lot... indeed it was better, because now my program is at least connecting, but now I receive another exception "The user is not associated with a secure connection to SQL Server". The user I'm using for that connection is "SA" so I really don't understand.
Any ideas...
Thx for your valuable remark, but it's not that.
I probably made a mistake during my several tries, but now it's corrected and it's still the same error.
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=VolleyManagement_Draft");
return con;
Any ideas?
Hello,
When I try to connect to a SQL Server database installed locally on my computer with the piece of code you can find below, I always receive a SQLException ("[Microsoft][SQLServer 2000 Driver for JDBC]Connection reset")
Here is the code, it seems that the exception is thrown by the DriverManager.getConnection.
...
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabasName=VolleyManagement_Draft");
return con;
Can someone help me?
Thx a lot.