Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jabref 2.11b4 GUI drawing issues #184

Closed
asteppke opened this issue Sep 28, 2015 · 29 comments
Closed

Jabref 2.11b4 GUI drawing issues #184

asteppke opened this issue Sep 28, 2015 · 29 comments
Labels
bug Confirmed bugs or reports that are very likely to be bugs ui

Comments

@asteppke
Copy link

With the current Jabref beta 2.11b4 I get here on Windows 7 a lot of GUI drawing issues. It seems that most parts of the window are only drawn if I drag the mouse cursor over the window:

image

Jabref itself runs fine, no error messages or other problems. I am using a relatively recent java version: Java(TM) SE Runtime Environment (build 1.8.0_31-b13). Is there anything that can be done about this issue?

@stefan-kolb stefan-kolb added bug Confirmed bugs or reports that are very likely to be bugs ui labels Sep 28, 2015
@koppor
Copy link
Member

koppor commented Sep 30, 2015

This might be Swing rendering appears broken in JDK 1.8, correct in JDK 1.7. Solution: Set the global environment variable J2D_D3D to false. Please confirm.

@stefan-kolb
Copy link
Member

@asteppke Can you confirm the solution suggested by @koppor ?

@koppor
Copy link
Member

koppor commented Oct 11, 2015

Doesn't solve my other drawing issue 😞. Don't know whether I'm the only one with drawing issues.

black_jabref

@asteppke
Copy link
Author

@stefan-kolb I tested with the suggested fix. Neither setting the environment variable nor starting java with -Dsun.java2d.d3d=false changed the drawing problem.

I started Jabref using the command line this time and I get the following output:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at net.sf.jabref.gui.MainTableFormat.modifyIconForMultipleLinks(Unknown
Source)
        at net.sf.jabref.gui.MainTableFormat.getColumnValue(Unknown Source)
        at net.sf.jabref.gui.MainTableFormat.getColumnValue(Unknown Source)
        at ca.odell.glazedlists.swing.DefaultEventTableModel.getValueAt(Default
ventTableModel.java:199)
        at javax.swing.JTable.getValueAt(Unknown Source)
        at javax.swing.JTable.prepareRenderer(Unknown Source)
        at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
        at javax.swing.plaf.basic.BasicTableUI.paintCells(Unknown Source)
        at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)
        at javax.swing.plaf.ComponentUI.update(Unknown Source)
        at javax.swing.JComponent.paintComponent(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JViewport.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JSplitPane.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JSplitPane.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at javax.swing.JLayeredPane.paint(Unknown Source)
        at javax.swing.JComponent.paintChildren(Unknown Source)
        at javax.swing.JComponent.paintToOffscreen(Unknown Source)
        at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown
ource)
        at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
        at javax.swing.RepaintManager.paint(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
        at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
        at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
        at java.awt.Container.paint(Unknown Source)
        at java.awt.Window.paint(Unknown Source)
        at javax.swing.RepaintManager$4.run(Unknown Source)
        at javax.swing.RepaintManager$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sou
ce)
        at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.access$1300(Unknown Source)
        at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sou
ce)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

@derTimme
Copy link
Contributor

I can confirm the Exception posted by @asteppke and the drawing problems. I'm running an up-to-date OpenJDK (1.8.0_60-b24) on Arch Linux.

@lenhard
Copy link
Member

lenhard commented Oct 15, 2015

I just had the same problem under Win7, JRE 1.8.0_60-b27, but only under biblatex mode and wihtout getting GUI-related exceptions. Setting the environment variable did not help.

Since this appears to be a JDK / graphics card configuration issue, there is really nothing we can do (except for being aware of it).

@matthiasgeiger
Copy link
Member

See #149 - there seems to be a similar issue on Mac OS X using BibLaTeX mode.

@derTimme
Copy link
Contributor

Strangely enough, I don't have the problem with the .jar availiable for download (I used to build JabRef on my own).

There are still some issues when I connect and disconnect additional screens - but I currently can't consistently reproduce that and it's most probably not a JabRef-specific issue.

@matthiasgeiger
Copy link
Member

I just fixed another issue on master which caused jabref to display nothing when using biblatex... but I cannot reproduce the exceptions and display issues shown above (either in master nor using 2.11b4).

@oscargus
Copy link
Contributor

oscargus commented Nov 2, 2015

Could this be related to the flickering problem solved last week?

@matthiasgeiger
Copy link
Member

Should not be related as the 2.11b branch was never updated to the new swinglabs version which caused the flickering issue.

@mcjcyo
Copy link

mcjcyo commented Nov 17, 2015

I have the same problem using the latest version of java Java installed (1.8.0_66) on Win7 ... :(

@matthiasgeiger
Copy link
Member

Hi @mcjcyo,
are there any exceptions in the error console? If yes, can you paste them here?

@mcjcyo
Copy link

mcjcyo commented Nov 17, 2015

thanks for your interest @matthiasgeiger
well,... I am just a jabref user, not a developer ;)
Where could i find the error console?

@matthiasgeiger
Copy link
Member

Using the Menu: "Help" -> "Show error console"

@mcjcyo
Copy link

mcjcyo commented Nov 17, 2015

nothing in "output"
but in "exception" :

Nov 17, 2015 4:57:39 PM org.java.plugin.registry.xml.ManifestParser INFO: got SAX parser factory - com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl@1afea7d Nov 17, 2015 4:57:39 PM org.java.plugin.registry.xml.PluginRegistryImpl configure INFO: configured, stopOnError=false, isValidating=true Nov 17, 2015 4:57:39 PM org.java.plugin.registry.xml.PluginRegistryImpl register INFO: plug-in and fragment descriptors registered - 2 Nov 17, 2015 4:57:39 PM net.sf.jabref.plugin.PluginCore initialize INFO: Found 2 plugin(s): - net.sf.jabref.export.misq (jar:file:/C:/Program%20Files%20(x86)/JabRef/JabRef-2.11.jar!/plugins/net.sf.jabref.export.misq/plugin.xml) - net.sf.jabref.core (jar:file:/C:/Program%20Files%20(x86)/JabRef/JabRef-2.11.jar!/plugins/net.sf.jabref.core/plugin.xml)

Nov 17, 2015 4:57:39 PM org.java.plugin.standard.StandardPluginManager activatePlugin
INFO: plug-in started - net.sf.jabref.core@2.0.0.4b1 (active/total: 1 of 2)
Nov 17, 2015 4:57:39 PM org.java.plugin.standard.StandardPluginManager activatePlugin
INFO: plug-in started - net.sf.jabref.export.misq@1.0.0 (active/total: 2 of 2)
Nov 17, 2015 4:57:39 PM net.sf.jabref.JabRef openBibFile
INFO: Opening: D:\09_latex\bibliojc.bib
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at net.sf.jabref.gui.MainTableFormat.modifyIconForMultipleLinks(Unknown Source)
at net.sf.jabref.gui.MainTableFormat.getColumnValue(Unknown Source)
at net.sf.jabref.gui.MainTableFormat.getColumnValue(Unknown Source)
at ca.odell.glazedlists.swing.DefaultEventTableModel.getValueAt(DefaultEventTableModel.java:199)
at javax.swing.JTable.getValueAt(Unknown Source)
at javax.swing.JTable.prepareRenderer(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintCells(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paint(Unknown Source)
at javax.swing.plaf.ComponentUI.update(Unknown Source)
at javax.swing.JComponent.paintComponent(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JViewport.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JSplitPane.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JSplitPane.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at javax.swing.JLayeredPane.paint(Unknown Source)
at javax.swing.JComponent.paintChildren(Unknown Source)
at javax.swing.JComponent.paintToOffscreen(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
at javax.swing.RepaintManager.paint(Unknown Source)
at javax.swing.JComponent.paint(Unknown Source)
at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
at java.awt.Container.paint(Unknown Source)
at java.awt.Window.paint(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at javax.swing.RepaintManager$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
at javax.swing.RepaintManager.access$1200(Unknown Source)
at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

@matthiasgeiger
Copy link
Member

Thank you very much. This is the same problem as above - but we were not able to reproduce it on our developer machines 😞

Can you do me a favor and send me a copy of your preferences (you can export them in the preferences Dialog (Options-> Preferences) -> left bottom "Export preferences") and - if it does not contain any sensitive information - the *.bib file you have currently open?

@matthiasgeiger
Copy link
Member

The issue is caused by a missing icon for one or more external file types:

If no icon is defined for an external file type, and the *.bib file contains an entry linked with two or more such files the NullPointerExceptions occur.

_Fix for users:_
Go to "Options" -> "Manage external file types" and set an icon for all those file type which do not have an icon.

If this does not work: Hit the "Default" button - caution: This will revert all your application settings!

@asteppke @derTimme I hope this also solves your issues!

@JabRef/developers ... what I do not understand is: Why are some icons missing at all?

@mcjcyo
Copy link

mcjcyo commented Nov 18, 2015

well, I am sorry @matthiasgeiger but I have all icons present, as by the default choice :

screenshoot

please consider that the problem occurs only if I have a file open
and that I have a Japanese OS type, which change the path writing using "Y" character as a separator between folders.

@matthiasgeiger
Copy link
Member

This is not the answer I wanted to hear ;-)

Can you please check whether this version works correctly for you?

@mcjcyo
Copy link

mcjcyo commented Nov 19, 2015

I am sorry it still the same :(

2015-11-19 6:44 GMT+09:00 Matthias Geiger notifications@github.com:

This is not the answer I wanted to hear ;-)

Can you please check whether this version
http://www.caboodle.de/jabref/JabRef-2.11.2dev-fat.jar works correctly
for you?


Reply to this email directly or view it on GitHub
#184 (comment).

@mcjcyo
Copy link

mcjcyo commented Nov 19, 2015

you do not think that, in my case,
the problems comes from the folder separator character?

2015-11-19 14:21 GMT+09:00 Jc Crivello jc.crivello@gmail.com:

I am sorry it still the same :(

2015-11-19 6:44 GMT+09:00 Matthias Geiger notifications@github.com:

This is not the answer I wanted to hear ;-)

Can you please check whether this version
http://www.caboodle.de/jabref/JabRef-2.11.2dev-fat.jar works correctly
for you?


Reply to this email directly or view it on GitHub
#184 (comment).

@matthiasgeiger
Copy link
Member

Can you please recheck the "error console" with the version linked above - is there still the same message?

Do you have the problem only with your "main bib-file" or even with a small test bib file containing only a single test entry?

@mcjcyo
Copy link

mcjcyo commented Nov 19, 2015

Your right,

I close my database and use an other simple one, it works smoothly.

Please find my database file, and let me know if you have error with.

I paste bellow the console error windows without any databse

many thanks for your support,
Jean-Claude

Nov 19, 2015 5:07:41 PM org.java.plugin.registry.xml.ManifestParser
INFO: got SAX parser factory -
com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl@186b085
Nov 19, 2015 5:07:41 PM org.java.plugin.registry.xml.PluginRegistryImpl
configure
INFO: configured, stopOnError=false, isValidating=true
Nov 19, 2015 5:07:41 PM org.java.plugin.registry.xml.PluginRegistryImpl
register
INFO: plug-in and fragment descriptors registered - 2
Nov 19, 2015 5:07:41 PM net.sf.jabref.plugin.PluginCore initialize
INFO: Found 2 plugin(s):

  • net.sf.jabref.export.misq
    (jar:file:/C:/Users/jcc/Downloads/JabRef-2.11.2dev-fat.jar!/plugins/net.sf.jabref.export.misq/plugin.xml)
  • net.sf.jabref.core
    (jar:file:/C:/Users/jcc/Downloads/JabRef-2.11.2dev-fat.jar!/plugins/net.sf.jabref.core/plugin.xml)

Nov 19, 2015 5:07:41 PM org.java.plugin.standard.StandardPluginManager
activatePlugin
INFO: plug-in started - net.sf.jabref.core@2.0.0.4b1 (active/total: 1 of 2)
Nov 19, 2015 5:07:41 PM org.java.plugin.standard.StandardPluginManager
activatePlugin
INFO: plug-in started - net.sf.jabref.export.misq@1.0.0 (active/total: 2 of
2)
Nov 19, 2015 5:07:42 PM net.sf.jabref.JabRef openBibFile
INFO: Opening: D:\09_latex\bibliojc.bib
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at
net.sf.jabref.gui.MainTableFormat.modifyIconForMultipleLinks(MainTableFormat.java:199)
at
net.sf.jabref.gui.MainTableFormat.getColumnValue(MainTableFormat.java:241)
at
net.sf.jabref.gui.MainTableFormat.getColumnValue(MainTableFormat.java:47)
at
ca.odell.glazedlists.swing.DefaultEventTableModel.getValueAt(DefaultEventTableModel.java:199)
at javax.swing.JTable.getValueAt(Unknown Source)
at javax.swing.JTable.prepareRenderer(Unknown Source)
at javax.swing.plaf.basic.BasicTableUI.paintCell(Unknown Source)
[...]
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at
net.sf.jabref.gui.MainTableFormat.modifyIconForMultipleLinks(MainTableFormat.java:199)
at
net.sf.jabref.gui.MainTableFormat.getColumnValue(MainTableFormat.java:241)
at
net.sf.jabref.gui.MainTableFormat.getColumnValue(MainTableFormat.java:47)
at
ca.odell.glazedlists.swing.DefaultEventTableModel.getValueAt(DefaultEventTableModel.java:199)

[edit by @matthiasgeiger: shortened stacktraces]

2015-11-19 17:04 GMT+09:00 Matthias Geiger notifications@github.com:

Can you please recheck the "error console" with the version linked above -
is there still the same message?

Do you have the problem only with your "main bib-file" or even with a
small test bib file containing only a single test entry?


Reply to this email directly or view it on GitHub
#184 (comment).

@koppor
Copy link
Member

koppor commented Nov 19, 2015

Maybe, it's swing.aatext. I disabled it in 6ad96c9.

@koppor koppor mentioned this issue Nov 20, 2015
13 tasks
@mcjcyo
Copy link

mcjcyo commented Nov 24, 2015

sorry, I am back :)
how I could enable it ?

2015-11-20 8:21 GMT+09:00 Oliver Kopp notifications@github.com:

Maybe, it's swing.aatext. I disabled it in 6ad96c9
6ad96c9
.


Reply to this email directly or view it on GitHub
#184 (comment).

@matthiasgeiger
Copy link
Member

Sorry... I currently don't have much time... A quick evaluation of the bib file you sent me showed, that the problem is caused by those entries who refer to "C:\some\path\to\the\file.pdf" - the problem with those entries is, that the special characters colon ":" and "" are not escaped to ":" and "".
Two examples:

  • invalid: File = {ScienceDirect Full Text PDF:C:\xxxx\yyyy\zzzz\somefilename.pdf:application/pdf
  • correct: File = {ScienceDirect Full Text PDF:C\:\\xxx\\yyy\\zzzz\\somefilename:application/pdf},

However, I had no time to investigate how this wrong entries are created.
I'll send you a mail later today to ask you how you added those file links and provide you a fixed version of your bib file. 😉

@mcjcyo
Copy link

mcjcyo commented Nov 25, 2015

GREAT GREAT !
it's solved !!
Many thanks @matthiasgeiger !

I recently did a citation importation from the Sciencedirect website,
without checking their code....
I will be more careful next time.

My apologize for your time lost for this error.
best.

@lenhard
Copy link
Member

lenhard commented Nov 25, 2015

If this is solved, we can close the issue. Further discussion on improvements can carry on in JabRef#52

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Confirmed bugs or reports that are very likely to be bugs ui
Projects
None yet
Development

No branches or pull requests

8 participants