Session Start (irc.tutorials.de:#java): Sun Jun 17 19:15:48 2007
[19:15] *** #java: @jdar
[19:15] *** #java was created on Sun Jun 17 19:16:23 2007.
[19:28] *** schuetzejanett has joined #java.
[19:28] jdar: hi
[19:28] schuetzejanett: hallo
[19:28] jdar: noch ziemlich ruhig hier ;-)
[19:28] *** You are now known as tom.
[19:29] schuetzejanett: ja mal gucken wieviele noch kooemn
[19:29] tom: jo
[19:29] tom: ansonsten vielleicht mal ne frage zum Thema "Java" ;-)
[19:29] tom: Gibts da ein Hausmittelchen mit dem man Kaffeflecken aus nem weißen Hemd herausbekommt?
[19:30] schuetzejanett: waschen?
[19:30] tom: ohne waschmaschine...
[19:30] schuetzejanett: na gut dann ich nehm manchmal glasreiniger geht aber auch nicht bei allen flecken
[19:30] tom: bin gerade erst zuhause ausgezogen ;-)
[19:30] tom: hey, genau das hab ich nun auch gemacht
[19:30] tom: :)
[19:31] schuetzejanett: und hats funktioniert
[19:31] tom: das seh ich dann wenn das hemd wieder trocken ist ;-)
[19:31] tom: den fleck sehe ich nicht mehr
[19:32] schuetzejanett: ok nun mal ne frage zu java oder besser gesagt SWT/JFace wie kann ich ine einer Tabelle mit dem Mausrad scrollen
[19:33] tom: mom
[19:34] tom: (Link: http://www.richclient2.eu/2006_10_03/scrolledcomposite-and-the-mouse-wheel/)http://www.richclient2.eu/2006_10_03/scrolledcomposite-and-the-mouse-wheel/
[19:34] tom: das würde ich entsprechend umbauen und's dann damit versuchen
[19:34] schuetzejanett: das hab ich schon versucht ging leider auch nicht naja kanns ja später noch mal versuchen
[19:35] schuetzejanett: ich muss mal kurz für zehn min oder so weg mein vater braucht hilfe am PC :)
[19:35] tom: kk
[19:43] tom: /**
*
*/
package de.tutorials;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;
/**
* @author Thomas.Darimont
*
*/
public class SWTScrollByMouseWheelExample {
/**
* @param args
*/
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("SWTScrollByMouseWheelExample");
shell.setLayout(new FillLayout());
Table table = new Table(shell, SWT.BORDER | SWT.H_SCROLL);
table.setHeaderVisible(true);
table.setLinesVisible(true);
TableColumn column = new TableColumn(table, SWT.LEFT);
column.setText("Column0");
column.setWidth(80);
column = new TableColumn(table, SWT.LEFT);
column.setText("Column1");
column.setWidth(80);
column = new TableColumn(table, SWT.LEFT);
column.setText("Column2");
column.setWidth(80);
generateRowsFor(table, 100);
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
private static void generateRowsFor(Table table, int numberOfRows) {
for (int i = 0; i < numberOfRows; i++) {
TableItem item = new TableItem(table, SWT.NONE);
item.setText(new String[] { "Column0:" + i, "Column1:" + i,
"Column2:" + i });
}
}
}
[19:43] tom: das scroll doch schon automatisch...
[19:44] tom: wenn die table den focus hat
[19:48] schuetzejanett: so bin wieder da also ich habe ne tabelle mit tabelviewer und da kann man nur mit der tastatur scrollen
[19:49] tom: ah table viewer
[19:49] tom: okay
[19:49] tom: mom
[20:10] tom: so
[20:10] tom: /**
*
*/
package de.tutorials;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.TableColumn;
/**
* @author Thomas.Darimont
*/
public class MouseWheelScrollableTableViewerExample extends ApplicationWindow {
/**
* @author Thomas.Darimont
*
*/
public class TableRowLabelProvider extends LabelProvider implements
ITableLabelProvider {
@Override
public Image getColumnImage(Object element, int columnIndex) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getColumnText(Object element, int columnIndex) {
return String.valueOf(((Object[]) element)[columnIndex]);
}
}
/**
*
*/
org.eclipse.jface.viewers.TableViewer tableViewer;
/**
* @param shell
*/
public MouseWheelScrollableTableViewerExample(Shell shell) {
super(shell);
setBlockOnOpen(true);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.window.ApplicationWindow#configureShell(org.eclipse.swt.widgets.Shell)
*/
protected void configureShell(Shell shell) {
super.configureShell(shell);
shell.setText("JFaceDeferredTreeInitializationExample");
shell.setSize(640, 480);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.window.Window#handleShellCloseEvent()
*/
@Override
protected void handleShellCloseEvent() {
super.handleShellCloseEvent();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
*/
protected Control createContents(Composite composite) {
tableViewer = new TableViewer(composite, SWT.SINGLE
| SWT.FULL_SELECTION);
tableViewer.getTable().setHeaderVisible(true);
tableViewer.getTable().setLinesVisible(true);
String[] columnNames = { "Column0", "Column1", "Column2" };
int[] columnWidths = { 80, 80, 80 };
for (int i = 0; i < columnNames.length; i++) {
TableColumn column = new TableColumn(tableViewer.getTable(),
SWT.LEFT);
column.setText(columnNames[i]);
column.setWidth(columnWidths[i]);
}
tableViewer.setContentProvider(new ArrayContentProvider());
tableViewer.setLabelProvider(new TableRowLabelProvider());
tableViewer.setInput(createTableModel());
return composite;
}
private Object createTableModel() {
return createRows(1000, 3);
}
private Object createRows(int rowCount, int columnCount) {
Object[] rows = new Object[rowCount];
for (int currentRow = 0; currentRow < rowCount; currentRow++) {
Object[] row = new Object[columnCount];
for (int currentColumn = 0; currentColumn < columnCount; currentColumn++) {
row[currentColumn] = currentRow + ":" + currentColumn;
}
rows[currentRow] = row;
}
return rows;
}
/**
* @param args
*/
/**
* @param args
*/
public static void main(String[] args) {
MouseWheelScrollableTableViewerExample deferredTreeInitializationExample = new MouseWheelScrollableTableViewerExample(
new Shell());
deferredTreeInitializationExample.open();
}
}
[20:10] tom: das Beispiel scroll bei mir auch übers MouseWheel
[20:13] schuetzejanett: mom mal probieren
[20:42] schuetzejanett: also das scrollen geht nur scrollt die selection nicht mit :(
[20:43] schuetzejanett: hatte ich vorhin aber auch nicht richtig erwähnt,
[20:43] tom: k
[20:43] tom: die selektion bleibt auf dem element bestehen
[20:43] tom: imho richtig so
[20:44] tom: wenn du die selektion mit dem mousewheel ändern willst wirds ein wenig komplizierter
[20:44] tom: dann musst du auf die table einen entsprechenden listener legen der auf das mousewheel reagiert
[20:44] schuetzejanett: ja und welcher ist das hab keinen so richtig gefunden
[20:44] tom: und dann entsprechend den tablecursor für die selektion umsetzen...
[20:45] schuetzejanett: das prob ist das das ein altes delphi programm ist in dem es geht und das soll jetzt halt im rcp auch noch gehen
[20:45] tom: im moment fällt mir aber keine anwendung ein wo die selektion mit dem mousewheel mitscrollt...
[20:45] tom: okay
[20:45] tom: ...
[20:46] schuetzejanett: wenn du mir den listener sagst mit dem ich das abfange komm ich bestimmt schon weiter hab eben nur noch nicht so recht was gefunden
[20:47] tom: habs mom
[20:57] tom: /**
*
*/
package de.tutorials;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.events.MouseWheelListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.TableColumn;
/**
* @author Thomas.Darimont
*/
public class MouseWheelScrollableTableViewerExample extends ApplicationWindow {
/**
* @author Thomas.Darimont
*
*/
public class TableRowLabelProvider extends LabelProvider implements
ITableLabelProvider {
@Override
public Image getColumnImage(Object element, int columnIndex) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getColumnText(Object element, int columnIndex) {
return String.valueOf(((Object[]) element)[columnIndex]);
}
}
/**
*
*/
org.eclipse.jface.viewers.TableViewer tableViewer;
/**
* @param shell
*/
public MouseWheelScrollableTableViewerExample(Shell shell) {
super(shell);
setBlockOnOpen(true);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.window.ApplicationWindow#configureShell(org.eclipse.swt.widgets.Shell)
*/
protected void configureShell(Shell shell) {
super.configureShell(shell);
shell.setText("JFaceDeferredTreeInitializationExample");
shell.setSize(640, 480);
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.window.Window#handleShellCloseEvent()
*/
@Override
protected void handleShellCloseEvent() {
super.handleShellCloseEvent();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.window.Window#createContents(org.eclipse.swt.widgets.Composite)
*/
protected Control createContents(Composite composite) {
tableViewer = new TableViewer(composite, SWT.SINGLE
| SWT.FULL_SELECTION);
tableViewer.getTable().setHeaderVisible(true);
tableViewer.getTable().setLinesVisible(true);
String[] columnNames = { "Column0", "Column1", "Column2" };
int[] columnWidths = { 80, 80, 80 };
for (int i = 0; i < columnNames.length; i++) {
TableColumn column = new TableColumn(tableViewer.getTable(),
SWT.LEFT);
column.setText(columnNames[i]);
column.setWidth(columnWidths[i]);
}
tableViewer.setContentProvider(new ArrayContentProvider());
tableViewer.setLabelProvider(new TableRowLabelProvider());
tableViewer.setInput(createTableModel());
tableViewer.getTable().addMouseWheelListener(new MouseWheelListener() {
final int maxVisibleRows = 31;
@Override
public void mouseScrolled(MouseEvent mouseEvent) {
int currentSelectionIndex = tableViewer.getTable()
.getSelectionIndex();
int rowCount = ((Object[])tableViewer.getInput()).length;
if (mouseEvent.count < 0) {
System.out.println("down:" + currentSelectionIndex);
if (currentSelectionIndex >= 0) {
tableViewer.getTable().setSelection(
currentSelectionIndex + 1);
} else {
tableViewer.getTable().setSelection(0);
}
} else {
System.out.println("up:" + currentSelectionIndex);
if (currentSelectionIndex > 0) {
tableViewer.getTable().setSelection(
currentSelectionIndex - 1);
}else{
tableViewer.getTable().setSelection(rowCount-1);
}
}
}
});
return composite;
}
private Object createTableModel() {
return createRows(10, 3);
}
private Object createRows(int rowCount, int columnCount) {
Object[] rows = new Object[rowCount];
for (int currentRow = 0; currentRow < rowCount; currentRow++) {
Object[] row = new Object[columnCount];
for (int currentColumn = 0; currentColumn < columnCount; currentColumn++) {
row[currentColumn] = currentRow + ":" + currentColumn;
}
rows[currentRow] = row;
}
return rows;
}
/**
* @param args
*/
/**
* @param args
*/
public static void main(String[] args) {
MouseWheelScrollableTableViewerExample mouseWheelScrollableTableViewerExample = new MouseWheelScrollableTableViewerExample(
new Shell());
mouseWheelScrollableTableViewerExample.open();
}
}
[21:13] schuetzejanett: also bei mir kennt er den MousewheelListener nicht :(
[21:13] schuetzejanett: auch schon beim importieren sagt er cant not be resolves
[21:13] tom: *
* @since 3.3
*/
[21:14] tom: ich arbeite unter Eclipse 3.3RC4
[21:15] schuetzejanett: oh na dann muss ich wohl mal updaten arbeite noch unter 3.2
[21:15] tom: k
[21:26] schuetzejanett: habe den download gerade gestartet dauert aber ne halbe stunde :(
[21:47] schuetzejanett: jetzt ist mein internet langsamer und die downloadzeit hat sich auf ne dreiviertel stunde erhöht
[21:47] tom: tja das kann passieren...
[21:47] tom: hab hier jetzt dsl 6000
[21:47] tom: da juckt's mich nicht mehr so :)
[21:48] schuetzejanett: du glücklicher hab immer noch das 1000
[21:48] tom: hab gestern eclipse 3.3RC4 (140mb) mit 700kb/s in knapp 10 min gezogen ;-)
[21:49] schuetzejanett: mal was anderes brauche für meine diploarbeit in ner firma ein datepickerwidget und wollte mir da eins von diesen open source dingern einbinden , darf ich das lizenzrechtlich oder muss ich da was beachten
[21:49] schuetzejanett: gibst du mir mal deine leitung ;)
[21:49] tom: die unterliegend wahrscheinlich der epl (eclipse public licencse)
[21:49] tom: sollte kein problem sein
[21:49] tom: hehe, die geb ich nicht mehr her ;-)
[21:50] schuetzejanett: würde ich an deiner stelle bestimmt auch nicht tun
[21:51] schuetzejanett: nagut dann bedank ich mich für deine hilfe, probier das dann später mal aus
[21:51] tom: jo kein problem
[21:51] tom: aus dem chat ist heute ja wieder njix geworden
[21:51] tom: na ja, war auch einwenig spät an...
[21:51] tom: hab eben noch mit meinen Vermietern Kaffee getrunken
[21:52] schuetzejanett: ja leider hatte auch gedacht das noch einpaar mehr kommen
[21:52] tom: daher die erste Frage zum Thema "Java" ;-)
[21:52] tom: jo
[21:52] tom: na ja, vielleicht beim nächsten mal
[21:52] tom: wünsch dann mal noch nen schönen Abend :)
[21:52] schuetzejanett: dir auch ciao
[21:52] tom: btw
[21:52] tom: (Link: http://download.eclipse.org/eclipse/downloads/drops/S-3.3M3-200611021715/eclipse-news-M3.html)http://download.eclipse.org/eclipse/downloads/drops/S-3.3M3-200611021715/eclipse-news-M3.html
[21:53] tom: mit eclipse 3.3 gibts ein eingebautes DateTimeWidget
[21:53] tom: du brauchst dir also kein externes zu besorgen...
[21:55] schuetzejanett: ja das hab ich gelesen wollte aber gerne eine combobox, die beim doppelklick aufpopr und ich dann das datum auswählen kann oder geht das auch
[21:55] tom: das geht auch
[21:55] schuetzejanett: achso na dann muss ich das mal probieren dachte die gibts nur als datumsfeld oder als kalender
[21:55] tom: (Link: http://download.eclipse.org/eclipse/downloads/drops/S-3.3M4-200612141445/eclipse-news-M4.html)http://download.eclipse.org/eclipse/downloads/drops/S-3.3M4-200612141445/eclipse-news-M4.html
[21:55] tom: New DateTime styles
[21:56] tom: baum draufklicken geht der kalender auf
[21:56] tom: baum -> beim
[21:58] schuetzejanett: das ist ja klasse dann brauch ich wirklich kein anderes plugin mehr,
[21:59] tom: jo
Session Close (#java): Sun Jun 17 22:01:07 2007